Nifi MergeContent truncating/missing 流文件内容

Nifi MergeContent truncating/missing flowfile content

我正在处理的流程文件: ... 1.QueryRecord > 2.SplitJson > 3.ExecuteGraphQuery > 4.MergeContent(碎片整理)

第 1 步 QueryRecord 到 select 记录的子集,以便根据属性进行处理 第 3 步是根据流文件的属性获取检索数据。 第 4 步设置为使用碎片整理和二进制串联。

在我的测试用例中,在第 2 步中,我可以验证拆分成 3 个流文件的 SplitJson。在 MergeContent 之前的第 3 步,这 3 个文件的 fragment.index 为 0,1 和 2,所有文件名,fragment.identifier 匹配并且 fragment.count 为 3.

我的问题是,合并内容总是导致一个流文件只有索引为 0 的流文件的内容(我测试了 3 次,结果相同)。

我在其他地方使用过 MergeContent,但从未 运行 解决过这个问题。

虽然我没有找出问题的原因,但以下步骤解决了我的问题:

  1. 删除 MergeContent 处理器并放入另一个处理器(重新创建处理器无法解决问题)
  2. 通过将 json 转换为纯文本(工作流意图的一部分)然后进行合并来解决此问题

我没有单独测试 2. 因为那时我已经删除了 'problematic' 一个。