Ktable Ktable连接样本

时间:2018-06-17 17:57:12

标签: apache-kafka apache-kafka-streams

KTable<key, Value1> table1
KTable<Key, Value2> table2

我正在尝试按键加入两个KTables (无窗口),并将结果作为<Key,value1,value2>写入输出主题。

有人可以帮我提供一些示例如何执行此操作。

1 个答案:

答案 0 :(得分:2)

因为在KTable中你总是只有一个键和一个值,你需要使用一些帮助类来将Value1与Value2连接起来。您可以使用javatuples库中的Pair<>

KTable<Key, Pair<Value1,Value2>> table3 = 
table1.join(table2, (value1, value2) -> new Pair<Value1,Value2>(value1,value2));

要将其写入主题,您需要为Pair值实现自己的serde,然后:

table3.to(keySerde,pairSerde,"outputTopic")