Kafka流:将值连接到数组中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kafka流:将值连接到数组中相关的知识,希望对你有一定的参考价值。

我有一个kafka流,它完成了KTable的缺失值(leftjoin完美地做到了这一点)。但有时,我必须将每个值的连接组成一个数组,我不知道如何正确地做到这一点。

例如(我带一个家庭):

{father: idFather, mother : idMother, children:[{child: id1},{child: id2}]

我可以和Ktable一起加入,找到父亲和母亲的名字(加入id)。但是对于孩子们,我不知道如何将每个孩子循环到阵列中(我不知道有多少孩子)。

目前我为每个孩子创建了新的KStream:stream.flatMapValues(value -> value.get("children"))和我为每个孩子建立联接。然后我必须groupByKey并减少或聚合我的数据以使用人名重建输入数据。

事实上,它是有效的,但我不确定这是最好的方法,我更喜欢避免内部kafka存储,以减少和聚合操作。

有人有更好的主意吗?感谢帮助

答案

这种方法很合理。

如果您的KTable数据很小,您可以考虑使用GlobalKTable进行连接。这允许使用来自KStream的非关键字段来查找GlobalKTable

以上是关于Kafka流:将值连接到数组中的主要内容,如果未能解决你的问题,请参考以下文章

如何在图表管道后保留Splunk中的表字段?尝试将值连接到'over'参数,但得到'未找到结果'

mongodb / mongoose mapreduce - 将所有值连接到单个数组

使用pyspark将两个字符串列值连接到整数数组

defaultdict(list) 将所有值连接到一个列表中

如何通过单击适配器类中代码的项目中的删除按钮来删除列表视图中的项目后重新加载片段?

kafka 通信报文格式