MergeContent with nifi - 长度不一致
MergeContent with nifi - inconsistent length
我正在尝试使用 MergeContent 处理器在磁盘上写入一个文件,但我得到的文件大小变化很大——从一行到 806 行不等。我已经多次重复这个过程,试图找出 中提到的换行符,我得到了随机大小的文件。
我需要设置哪些参数才能遵循以下逻辑?
- 建立单一垃圾箱
- 将所有流文件路由到 bin
- 如果 len(bin)>X 或者 bin 的年龄大于 Max Bin Age,释放 bin
为了完整记录,我目前定义了以下属性:
如您所见,我已按照 https://github.com/apache/nifi/blob/31fba6b3332978ca2f6a1d693f6053d719fb9daa/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestMergeContent.java#L219 中的语法将 "Max Bin Age" 设置为“10 秒”(这是我设法找到该值示例的唯一地方,关于此参数的文档似乎不完整)
我已将 "Maximum Number of Entries" 设置为 5000,将 "Maximum number of Bins" 设置为 1
按照上述逻辑,我需要做什么来汇总我的记录?我还尝试使用 "Correlation Attribute Name" 参数,其属性保证在达到这一点的所有文档上都相同,并且看到了相同的
这里最重要的其实是最少的条目数。正在发生的事情是分箱算法在项目数量方面采取了宽松的方法。
对于您的特定逻辑,您可能希望保持现状并且:
- 将最小条目数设置为 5000
- 或者,增加最大条目数。保留它的配置将生成恰好 5000 个条目的 bin,除了年龄间隔已经消失的那些时期
下图是上述配置的图像,其中最小和最大 bin 大小均为 5000,并且一次仅处理 1 个 bin。在这种情况下,您会看到恰好 20000 个文件已合并为 4 个。
万一有人遇到这个确切的问题,原因可能是没有在 MergeContent 处理器上设置计划。经过大量故障排除后,我意识到这是其中一个处理器,其中“0 秒”不是一个合适的时间表。我已经将我的 Min Entries 设置为一些高数字和 Max Entries。 Max Bin Age 设置为 5 分钟。这是导致处理器不断抓取流文件并将它们捆绑成随机大小的时间表。
我正在尝试使用 MergeContent 处理器在磁盘上写入一个文件,但我得到的文件大小变化很大——从一行到 806 行不等。我已经多次重复这个过程,试图找出
我需要设置哪些参数才能遵循以下逻辑?
- 建立单一垃圾箱
- 将所有流文件路由到 bin
- 如果 len(bin)>X 或者 bin 的年龄大于 Max Bin Age,释放 bin
为了完整记录,我目前定义了以下属性:
如您所见,我已按照 https://github.com/apache/nifi/blob/31fba6b3332978ca2f6a1d693f6053d719fb9daa/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestMergeContent.java#L219 中的语法将 "Max Bin Age" 设置为“10 秒”(这是我设法找到该值示例的唯一地方,关于此参数的文档似乎不完整)
我已将 "Maximum Number of Entries" 设置为 5000,将 "Maximum number of Bins" 设置为 1
按照上述逻辑,我需要做什么来汇总我的记录?我还尝试使用 "Correlation Attribute Name" 参数,其属性保证在达到这一点的所有文档上都相同,并且看到了相同的
这里最重要的其实是最少的条目数。正在发生的事情是分箱算法在项目数量方面采取了宽松的方法。
对于您的特定逻辑,您可能希望保持现状并且:
- 将最小条目数设置为 5000
- 或者,增加最大条目数。保留它的配置将生成恰好 5000 个条目的 bin,除了年龄间隔已经消失的那些时期
下图是上述配置的图像,其中最小和最大 bin 大小均为 5000,并且一次仅处理 1 个 bin。在这种情况下,您会看到恰好 20000 个文件已合并为 4 个。
万一有人遇到这个确切的问题,原因可能是没有在 MergeContent 处理器上设置计划。经过大量故障排除后,我意识到这是其中一个处理器,其中“0 秒”不是一个合适的时间表。我已经将我的 Min Entries 设置为一些高数字和 Max Entries。 Max Bin Age 设置为 5 分钟。这是导致处理器不断抓取流文件并将它们捆绑成随机大小的时间表。