Apache kafka 如何在kafka流上实现分组转换
在kafka流上应用groupBy()或groupByKey()时,会得到一个KGroupedStream对象。是否可以在一个时间窗口内具体化该对象,并将分组数据写入主题?您可以编写自定义聚合器,将groupedStream具体化为KTable。它将具有列表格式的分组记录。之后可以将其发布到卡夫卡主题Apache kafka 如何在kafka流上实现分组转换,apache-kafka,apache-kafka-streams,Apache Kafka,Apache Kafka Streams,在kafka流上应用groupBy()或groupByKey()时,会得到一个KGroupedStream对象。是否可以在一个时间窗口内具体化该对象,并将分组数据写入主题?您可以编写自定义聚合器,将groupedStream具体化为KTable。它将具有列表格式的分组记录。之后可以将其发布到卡夫卡主题 KTable<K, ArrayList<V>> groupedTable = streamObject.groupByKey().aggregate(
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);
KTable groupedTable=streamObject.groupByKey().aggregate(
//自定义初始值设定项
ArrayList::新,
//聚合器
(键、值、列表)->{
列表。添加(值);
退货清单;
},新的ArrayListSerde(serdeType),storageName);
分组表到(新主题);
//或者转换成流并发布
groupedTable.toStream().to(newTopic);