我想通过相同的指定属性合并两个包含 JSON 对象的流文件...
流程1:
attribute:
xuuid = 123456
content:
{
"sname":"jack",
"id":"00001",
"state":"NY"
}
Run Code Online (Sandbox Code Playgroud)
流程2:
attribute:
xuuid = 123456
content:
{
"country":"US",
"date":"1983"
}
Run Code Online (Sandbox Code Playgroud)
我希望在单个输出流中出现这种形式的数据:
期望流:
attribute:
xuuid = 123456
content:
{
"sname":"jack",
"id":"00001",
"state":"NY",
"country":"US",
"date":"1983"
}
Run Code Online (Sandbox Code Playgroud)
我怎么玩这个?MergeContent 处理器还是 MergeRecord?我认为 mergeecord 可以处理它,但我对此感到困惑。
是的 MergeContent 可以为您做到这一点。
我使用EvalJson --> MergeContent --> AttributesToJson
我在这里发布了一个模板,你可以用来玩。 Apache NiFi 合并 Json 模板
该MergeContent必须有这样的设置:“将所有属性”,“2 entires的NUM”,“分隔符的策略是文本”
您要求的是流连接,这不是 NiFi 真正做的事情,类似的问题和答案在这里:
合并处理器用于逐个合并数据片段,而不是执行流式连接。例如,如果您有许多小的 json 消息,您可能需要使用 MergeContent 或 MergeRecord 将数千条消息合并到一个流文件中,然后再写入 HDFS。