【发布时间】:2019-05-26 14:26:16
【问题描述】:
假设我有 100 个由一个处理器生成的流文件,每个文件都包含不同的行。我想获得一个包含 100 行的新流文件。我该怎么做?
我尝试过 MergeContent 处理器,但它返回了原始 100 个流文件。
当前配置:
更新:
我调试了MergeContent的输出,第一步JOIN,看起来没问题,因为数据是576.34 KB,其中包含100行。但是第二步ATTRIBUTES_MODIFIED似乎只输出了1行到最终结果。
更新:
这是我的整个过程。
- 从kafka一一获取。
- 将 kafka 消息转换为一个流文件中的一个行字符串。
- 将多个流文件合并为一个。
- 放入 HDFS。
现在我被困在第 3 步,我无法将它们一一合并。我不在乎顺序和属性,我只需要限制数量。
更新:
我尝试将correlation attribute设置为${kafka.topic},因为所有流文件都来自同一个kafka主题,但它们仍然无法合并:
【问题讨论】:
-
这些文件有什么共同点吗?为什么不使用相关属性?
-
@daggett 他们没有任何共同点。我只是从不同的地方获取它们,我需要将它们放在一个文件中。
-
只限数量?
-
@daggett 是的。只是数量有限。我已经搜索了两天,但没有运气......
-
@daggett 这是我的整个过程。 1.从kafka中一一获取。 2.将kafka消息转换为一行字符串。 3. 将多个流文件合并为一个。 4. 放置HDFS。现在我被困在第 3 步,我无法将它们一一合并。我不在乎顺序或属性,我只需要限制数量。
标签: apache-nifi