我正在按照this在Flink应用程序中创建Elasticsearch接收器。我想了解如果我提供所有值,例如

int FLUSH_MAX_ACTIONS = 10_000;
long FLUSH_INTERVAL_MILLIS = 1_000;
int FLUSH_MAX_SIZE_MB = 1;

esSinkBuilder.setBulkFlushMaxActions(FLUSH_MAX_ACTIONS);
esSinkBuilder.setBulkFlushInterval(FLUSH_INTERVAL_MILLIS);
esSinkBuilder.setBulkFlushMaxSizeMb(FLUSH_MAX_SIZE_MB);
esSinkBuilder.setBulkFlushBackoff(true);
在这种情况下,我指定要冲洗
  • 如果时间间隔已超过1秒
  • 如果缓冲区大小为1MB
  • 如果缓冲区
  • 中有10,000条记录正在等待

    当我一次指定所有三个时,将得到什么结果,哪个优先?

    最佳答案

    首先达到哪个限制将触发冲洗。这由org.elasticsearch.action.bulk.BulkProcessor处理。

    08-28 13:30