【问题标题】:NiFi How can I merge exactly 3 records in a single one?NiFi 如何将 3 条记录合并到一条记录中?
【发布时间】:2020-06-29 06:59:57
【问题描述】:

我正在使用 NiFi,在同一个文件中接收多个 json。假装正确地修改了这些 json,我将其拆分为几个单独的流文件,这就是问题开始的地方。

对于每个 id 和 datetime,我想将 3 个流文件合并到一个流文件中。我尝试使用 MergeRecord NiFi 的处理器,但 它可以在需要时工作。当我有一些记录时,它似乎工作正常。但是当我有“很多”记录时,例如,超过 70 条记录,它就会中断。有时它将两条记录合并为一条记录,有时它允许直接传递一条记录。

merge_key 是一个基于 id 和 datetime 的字符串属性。

我需要恰好取 3 条记录并将它们合并为一条。

如果有办法订购流文件并每 5 秒获取它的前 n 个元素,我认为它会有所帮助。但我更愿意确保它在没有任何“帮助”的情况下正常工作......

【问题讨论】:

    标签: apache-nifi


    【解决方案1】:

    为了订购流文件,我们可以按照默认文档使用 EnforceOrder 处理器。

    https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.5.0/org.apache.nifi.processors.standard.EnforceOrder/#:~:text=Order%20Attribute,will%20be%20routed%20to%20failure.

    NiFi 在传入的流文件中也使用以下优先级。

    • FirstInFirstOutPrioritizer

    • NewestFlowFileFirstPrioritizer

    • OldestFlowFileFirstPrioritizer

    • PriorityAttributePrioritizer

    更多详情请参考以下链接

    https://nifi.apache.org/docs/nifi-docs/html/user-guide.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-24
      • 2021-04-14
      • 2023-04-03
      • 1970-01-01
      • 2019-08-24
      • 2021-11-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多