Nifi - FlowFiles 在 MergeRecord 之前堆积

Nifi - FlowFiles piling up before MergeRecord

我遇到了流文件通过合并记录的问题。

流程如下(点击 link 查看图片):

Flow Queue

我已经尝试了配置设置的大部分排列,但无论我做什么似乎都无法从队列中取出流文件:

MergeRecord Configuration

有谁知道是什么阻止了这个 mergerecord 传递流文件?似乎流文件当前是“文本”文件,它们是否需要 JSON 才能使合并记录正确分组?

合并与 TableName 关联 - 这意味着它只会合并 TableName 属性具有相同值的流文件。

但是,您总共只有 10 个 bin - 这意味着如果 table1,2,3,4,5,6,7,8,9,10 中有 10 个流文件,您的 bin 已经用完了,所以任何 FlowFiles与 table11、12、13、14 等在 bin 释放之前不会合并。他们只会坐在队列中等待。

此外,您的合并配置也只设置了 Min 1 和 Max 1000 - 这意味着在合并这些文件并释放 bin 之前,您需要 TableName = table1 的 1000 条记录。

5000 个 FlowFile 占 3MB,我假设每个 FlowFile 的记录不多,因此您不会填满 1000 个记录并释放任何 bin。

因此,请仔细检查您的 TableName 属性是否按预期设置,并考虑修改控制合并的设置。您可以将 Max Records 从 1000 降低以更快触发,您可以添加 Max Size,或者您可以添加 Max Age 以对其进行时间限制。