如何在 Apache Nifi 中合并分区的 Json

Posted

技术标签:

【中文标题】如何在 Apache Nifi 中合并分区的 Json【英文标题】:How to merge partitioned Json in Apache Nifi 【发布时间】:2019-09-21 22:14:44 【问题描述】:

您好,我正在拆分大小从 2 GB 到 3 GB 的 Json 文件。 我应该如何设置“合并内容”处理器以拥有原始文件? 我在进行合并后面临同一流文件的多个部分的问题,这可能是我设置的限制错误。 你知道热解决这个问题吗? 我专注于这些属性:

-最少条目数 -最大条目数 - 最小组大小 - 最大组大小

【问题讨论】:

【参考方案1】:

要重建拆分文件,您需要在碎片整理模式下使用 MergeContent。我相信这会忽略所有 entry 和 size 属性,只使用拆分处理器放置在每个流文件上的“片段”属性,并将所有片段重新合并在一起。

【讨论】:

由于我有大数据文件,问题不是所有的流文件都放在队列中,我不知道最后一个片段。通过这种方式,它会生成多组文件而不是单个连接文件 我不明白,如果您使用 SplitJson(或其他拆分处理器)每个拆分流文件都有片段信息,那么您只需将 MergeContent 告诉 Mode = Defragment 并等待所有片段,大小应该没关系,因为内容没有存储在内存中 但是如果我有多个 TextSplit 序列,这不是问题吗?因为片段 ID 在每次拆分时都会被覆盖 啊,是的,我不确定是否有在多次拆分后进行碎片整理的好方法,老实说,更好的选择可能是重新评估流程并确定是否真的需要拆分首先,通常应该避免这种情况,现在许多记录处理器都允许就地操作 是的,有一种方法,使用等待通知处理器,但是我不明白如何使用它们

以上是关于如何在 Apache Nifi 中合并分区的 Json的主要内容,如果未能解决你的问题,请参考以下文章

用Nifi合并二个API计算并生成新的API

如何在 Apache NiFi 中管理、排序和过滤大量流?

Apache NiFi 如何从入门到不放弃?

Apache NiFi 如何从入门到不放弃?

如何在 Apache NiFi 的 ExecuteProcess 中运行 sed

如何在Apache NIFI中应用机器学习来处理流数据?