在kafka流上应用groupBy()或groupByKey()时,会得到一个KGroupedStream对象。是否有可能在一个时间窗口内实现该对象,并将分组数据写入主题?
答案 0 :(得分:0)
您可以编写自定义聚合器,以将groupedStream落实到KTable中。它将具有列表格式的分组记录。以后可以将其发布到kafka主题。
KTable<K, ArrayList<V>> groupedTable = streamObject.groupByKey().aggregate(
// Custom Initializer
ArrayList::new,
// aggregator
(key, value, list) -> {
list.add(value);
return list;
}, new ArrayListSerde<V>(serdeType), storageName);
groupedTable.through(newTopic);
// Or convert into stream and publish
groupedTable.toStream().to(newTopic);