elasticsearch - Flink 的 Elasticsearch sink 中批量刷新操作的优先级是什么?
问题描述
我正在按照这个在 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
.
推荐阅读
- python - 我的python评估是为咖啡店创建一个程序
- psexec - 在 PSExec 上调用使用 GetForegroundWindow() 的程序会返回 Idle
- python - MongoDB:如何在聚合阶段定义变量?
- arduino - 处理 - 缺少来自 Arduino 的串行数据,使用 readStringUntil()
- azure - 如果应用程序已经是订阅级别的所有者,我是否需要在密钥保管库的访问策略上添加应用程序
- java - 通过 JNI 将 C++ 类与 Kotlin/Java 类连接起来
- javascript - 展平多维数组
- javascript - 我可以使用任何字符串作为 JSON 属性名称吗?
- google-sheets - 在 Google 电子表格上拆分多值单元格
- flutter - 每次调用另一个函数时如何重复相同的未来函数?