如何解决NiFi:是否有任何形式可以将所有流文件合并为一个键?
我正在使用NiFi和JSON,试图在进行一些转换之前丰富数据。
我已使用SplitJson将JSON分为许多小json。现在,我需要一键合并。
实际上,我可以将其全部合并在一起,并以MergeContent和Defragment作为合并策略。但是我不能使用“相关属性名称”。如果我使用它,它将失败,因为提供的片段更少(少于原始JSON中存在的片段数量)。
例如
我有这个jsons
{ "id":"aaa","value":1,"datetime":"datetime1" }
{ "id":"aaa","datetime":"datetime1" }
{ "id":"bbb","datetime":"datetime1" }
------------------
{ "id":"aaa","datetime":"datetime2" }
{ "id":"bbb","datetime":"datetime2" }
------------------
{ "id":"aaa","datetime":"datetime3" }
{ "id":"aaa","datetime":"datetime3" }
{ "id":"bbb","datetime":"datetime3" }
我的目标是:
{ "id":"aaa","datetime":"datetime1","value":2 }
{ "id":"bbb","value":2 }
{ "id":"aaa","datetime":"datetime2","value":1 }
{ "id":"bbb","value":3 }
{ "id":"aaa","datetime":"datetime3","value":4 }
{ "id":"bbb","value":2 }
我想基于一个键将其合并:id和datetime,已连接。每对id-datetime我都有成百上千个不同的流文件,还有成千上万个不同的流文件。
如果我使用Bin-Packing算法,则无法正常工作。
我可以使用Jolt变换对其求和,但是我认为这样效率不高。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。