0

我正在创建一个关于两个主题的 ktable-ktable 内部连接,employee并且department,其中employee主题有重复的键。当我在这个主题上构建一个 ktable 时,它​​应该只取每个键对应的最新值(根据我从文档中理解的内容)。

但是员工上的ktable也在拾取所有重复的键。你能帮我理解这是否是 ktable 的预期行为,还是我误解了什么?

代码:

KTable<String, GenericRecord> empTable = builder.table("employee");
KTable<String, GenericRecord> deptTable = builder.table("department");
KTable<String, GenericRecord> joinTable = empTable.join(deptTable, ..join-details..)
joinTable.toStream().to("join-topic");

员工话题:

key->empId,empName,deptId 
d1 ->1, name1, d1
d2 ->2, name2, d2 <==
d2 ->3, name3, d2 <== same key
d3 ->4, name4, d4

部门主题(键->值):

key->deptId,deptName
d1 ->d1, dept1
d2 ->d2, dept2
d3 ->d3, dept3

加入主题(键->值):

key->joined record
d1 ->1, name1, d1, dept1
d2 ->2, name2, d2, dept2 <============
d2 ->3, name3, d2, dept2
d3 ->4, name4, d4, dept3
4

0 回答 0