我有一个带有userclick并使用userid作为键的kstream,还有一个包含用户详细信息的ktable,也使用userid作为键。kstream和ktable都有一定数量的分区,使用相同的分区策略和密钥。
当我在这两个点击事件之间使用left join时,大多数点击事件都没有与用户的详细信息匹配,有一些是匹配的。但是,当我用globalktable更改ktable时,这些缺少的匹配项消失了,所有必需的用户单击都包含了用户详细信息。
什么会导致这个问题?在加入kstream和globalktable时使用keyvaluemapper是否解决了kstream to ktable join中的问题?如果是的话,有什么解决办法。
编辑:userid是一个压缩的主题,由confluent.net客户机生成,我已经将默认分区策略更改为Murruse2(java客户机的默认配置)。
1条答案
按热度按时间sc4hvdpw1#
在加入kstream和globalktable时使用keyvaluemapper是否解决了kstream to ktable join中的问题?
在我看来,如果我们使用globalktable,那么我们将失去kafka在用户表上扩展的能力。
什么会导致这个问题?你能调试一些用户数据不丰富的userid情况吗?然后检查两者的userid分区号
click stream
以及user table
.