apache-nifi - NiFi 如何将 3 条记录合并到一条记录中?
问题描述
我正在使用 NiFi,在同一个文件中接收多个 json。假装正确地修改了这些 json,我将其拆分为几个单独的流文件,这就是问题开始的地方。
对于每个 id 和 datetime,我想将 3 个流文件合并到一个流文件中。我尝试使用 MergeRecord NiFi 的处理器,但它可以在需要时使用。当我有一些记录时,它似乎工作正常。但是当我有“很多”记录时,例如超过 70 条记录,它就会中断。有时它将 2 条记录合并到一条记录中,有时它允许直接传递一条记录。
merge_key 是一个基于 id 和 datetime 的字符串属性。
我需要准确地获取 3 条记录并将它们合并为一条。
如果有一种方法可以订购流文件并每 5 秒获取它的前 n 个元素,我认为它会有所帮助。但我更愿意确保它在没有任何“帮助”的情况下正常工作......
解决方案
为了订购流文件,我们可以按照默认文档使用 EnforceOrder 处理器。
NiFi还在传入流文件中使用以下优先级。
先进先出优先级
最新FlowFileFirstPrioritizer
OldestFlowFileFirstPrioritizer
PriorityAttributePrioritizer
有关更多详细信息,请参阅以下链接
推荐阅读
- laravel - laravel 无法启动第一个项目
- php - 在aws ec2中与主管合作的laravel工作不起作用
- c# - 我如何理解像“inDTO is not {CanInBound:true}”这样的模式匹配
- c# - 如何在c#中重构tryparse的代码
- reactjs - 使用 Material UI 和 Formik 处理多个复选框
- mysql - 使用案例和检查存在于连接表mysql中
- python - 错误:找不到满足葡萄园要求的版本(来自版本:无)
- ruby - ArgumentError: :Bucket 不能为空
- docker - Docker 为单个容器分配公共 IP
- javascript - 滚动动画上的视频在服务器上真的很不稳定