【问题标题】:How to simply combine flow files in nifi?如何在 nifi 中简单地组合流文件?
【发布时间】:2019-05-26 14:26:16
【问题描述】:

假设我有 100 个由一个处理器生成的流文件,每个文件都包含不同的行。我想获得一个包含 100 行的新流文件。我该怎么做?

我尝试过 MergeContent 处理器,但它返回了原始 100 个流文件。

当前配置:

更新:

我调试了MergeContent的输出,第一步JOIN,看起来没问题,因为数据是576.34 KB,其中包含100行。但是第二步ATTRIBUTES_MODIFIED似乎只输出了1行到最终结果。

更新:

这是我的整个过程。

  1. 从kafka一一获取。
  2. 将 kafka 消息转换为一个流文件中的一个行字符串。
  3. 将多个流文件合并为一个。
  4. 放入 HDFS。

现在我被困在第 3 步,我无法将它们一一合并。我不在乎顺序和属性,我只需要限制数量。

更新:

我尝试将correlation attribute设置为${kafka.topic},因为所有流文件都来自同一个kafka主题,但它们仍然无法合并:

【问题讨论】:

  • 这些文件有什么共同点吗?为什么不使用相关属性?
  • @daggett 他们没有任何共同点。我只是从不同的地方获取它们,我需要将它们放在一个文件中。
  • 只限数量?
  • @daggett 是的。只是数量有限。我已经搜索了两天,但没有运气......
  • @daggett 这是我的整个过程。 1.从kafka中一一获取。 2.将kafka消息转换为一行字符串。 3. 将多个流文件合并为一个。 4. 放置HDFS。现在我被困在第 3 步,我无法将它们一一合并。我不在乎顺序或属性,我只需要限制数量。

标签: apache-nifi


【解决方案1】:

您使用的是来自MergeContent 处理器的原始 还是合并 关系?前者将提供相同的 100 个流文件给您,以防您需要进行额外处理;后者将为您提供一个包含所有合并流文件内容的流文件。从您的出处列表中可以看出,合并事件正在成功发生,因此请仔细检查您正在使用的关系。如果可能,请发布您的流程的屏幕截图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-07
    • 2017-10-03
    • 1970-01-01
    相关资源
    最近更新 更多