MergeContent与nifi - 长度不一致

Jos*_*son 5 apache-nifi

我试图用MergeContent处理器在磁盘上写一个文件,但是我的文件大小变化很大 - 从一行到806行.我试图找出在Apache NIFi MergeContent处理器中解决的新行标界符多次重复这个过程- 将demarcator设置为新行,我得到了真正随机大小的文件.

我需要设置哪些参数才能遵循以下逻辑?

  1. 建立一个垃圾箱
  2. 将所有流文件路由到bin中
  3. 如果len(bin)> X或bin的年龄大于Max Bin Age,则释放bin

为了完整记录,我目前定义了以下属性: 合并内容处理器设置 合并内容处理器设置

如您所见,我按照https://github.com/apache/nifi/blob/31fba6b3332978ca2f6a1d693f6053d719fb9daa/nifi-nar-bundles/nifi-standard-bundle中的语法将"Max Bin Age"设置为"10秒" /nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestMergeContent.java#L219(这是我设法找到这个值的例子的唯一地方,文档似乎不完整在这个参数上)

我将"最大条目数"设置为5000,将"最大条目数"设置为1

按照上述逻辑,我需要做些什么才能聚合我的记录?我还尝试使用"关联属性名称"参数,其属性保证在达到此点的所有文档上都相同,并且看到了相同的

api*_*iri 5

这里最重要的是实际上最少的条目数.发生的事情是,分箱算法在项目数量方面采取宽松的方法.

根据您的具体逻辑,您可能希望按照它们的原则进行操作:

  • 将最小条目数设置为5000
  • (可选)增加最大条目数.将其保留为已配置将生成正好为5000个条目的区间,但是年龄区间已经黯然失色的区域除外

下面是上面配置的图像,其中min和max bin大小都是5000,并且一次只处理1个bin.在这种情况下,您将看到正好将20000个文件合并为4个.

最小和最大bin大小为5000的示例执行