apache-nifi - 如何在 Nifi 中使用 MergeConent 处理器
问题描述
我有一个 Nifi 流程,其中我在 Json 中有多行数据,对于每一行都需要执行以下操作:
- 拆分数据(EvaluateJsonPath)并将相关字段插入数据库(Mysql)。
- 获取表 A 的字段并将它们放入数据库。此操作的返回值是表 A 中自动生成的 ID。
- 从表插入中获取返回值并与表 B 字段合并。表 A 的返回值成为表 B 中的参考值,因此拆分的行条目成为链接。
我已经设置了流程(见图),但是MergeContent
处理器失败了,因为我认为它不知道如何正确合并内容。如果我有例如 200 行,它只会合并一行,其余的会失败。我已经阅读了有关碎片整理的信息,Nifi
但未能成功实施,因此感谢任何输入。
流程图:
解决方案
使用合并处理器时,流文件应具有正确的属性,例如fragment.index
、fragment.identifier
和fragment.count
. 如果您的流文件没有这个,则合并将不起作用。
大多数情况下,这些属性是在您拆分记录时自动创建的。因此,您只需使用SplitAvro
before即可添加拆分过程ConvertAvroToJson
。它将您的查询结果逐行拆分并执行您想要的操作,然后将其合并。
推荐阅读
- c# - 当前上下文中不存在名称“Handles”
- node.js - 如何在微服务中交换数据库中的数据
- html - 无法滚动到顶部或底部
- sql - 根据参数创建重复的序号?
- python - Python Decimal 未按预期工作
- javascript - How to check in which interval the value is?
- bash - Ubuntu bash –eq:预期二元运算符 - 嵌套 for 循环
- ios - 如何将目标(handleInputModeList)添加到 SwiftUI 按钮中
- python - 如何在 python 字典中获取用户输入并打印出来?顺便说一句,我是新手
- javascript - element.style.width 和 element.style.height 不起作用