elasticsearch,apache-nifi,Apache,elasticsearch,Apache Nifi" /> elasticsearch,apache-nifi,Apache,elasticsearch,Apache Nifi" />

Apache Nifi PutElasticsearch是否可以永远等待以填充批大小?

Apache Nifi PutElasticsearch是否可以永远等待以填充批大小?,apache,elasticsearch,apache-nifi,Apache,elasticsearch,Apache Nifi,我正在尝试使用apache-nifi.putElasticSearch处理器将流式数据写入elasticsearch PutElasticSearch有一个名为“Batch Size”的属性,当我将该值设置为1时,所有事件都会尽快写入elasticsearch 但是,这样低的“批量大小”在负载较高时显然不起作用。因此,为了获得合理的吞吐量,我需要将其设置为1000 我的问题是,PutElasticSearch是否会等待事件的批量大小。如果是,当处理器上有999个事件等待时,它可以等待数小时 我正

我正在尝试使用apache-nifi.putElasticSearch处理器将流式数据写入elasticsearch

PutElasticSearch有一个名为“Batch Size”的属性,当我将该值设置为1时,所有事件都会尽快写入elasticsearch

但是,这样低的“批量大小”在负载较高时显然不起作用。因此,为了获得合理的吞吐量,我需要将其设置为1000

我的问题是,PutElasticSearch是否会等待事件的批量大小。如果是,当处理器上有999个事件等待时,它可以等待数小时

我正在搜索了解logstash如何在elasticsearch输出插件上做同样的工作。可能有一些基于时间实现的刷新逻辑(如果事件等待~2秒刷新事件到elasticsearch)

你知道吗


编辑:我刚刚发现logstash实现了这个:)


如何在nifi上执行相同的功能根据代码
批处理大小
参数是来自传入队列的最大流文件数

例如,如果值
批量大小=1000

1/如果传入队列包含1001个流文件,则在一个事务中仅获取1000个流文件

2/如果传入队列包含999个流文件-999将在一个事务中获取

只要传入队列中有东西并且nifi中有可用的线程,就会处理所有内容

参考资料:


根据代码,
批大小
参数是来自传入队列的最大流文件数

例如,如果值
批量大小=1000

1/如果传入队列包含1001个流文件,则在一个事务中仅获取1000个流文件

2/如果传入队列包含999个流文件-999将在一个事务中获取

只要传入队列中有东西并且nifi中有可用的线程,就会处理所有内容

参考资料: