使用flink rich inputformat创建elasticsearch的输入格式

dced5bon  于 2021-06-14  发布在  ElasticSearch
关注(0)|答案(1)|浏览(424)

我们使用的是elasticsearch 6.8.4和flink 1.0.18。
我们在elasticsearch中有一个包含1个碎片和1个副本的索引,为了获得更好的性能,我想使用apache flink dataset api创建自定义输入格式,以便在elasticsearch中读取和写入数据,其中包含1个以上的输入拆分。那么我有什么办法可以达到这个要求吗?
注意:每个文档的大小更大(几乎8mb),由于大小限制,我一次只能读取10个文档,每个读取请求,我们要检索500k个记录。
根据我的理解,并行数应该等于数据源的碎片/分区数。然而,由于我们只存储了少量的数据,所以我们将shard的数量保持为1,并且我们有一个静态数据,它每个月都会略微增加。
任何帮助或源代码的例子将不胜感激。

lp0sw83n

lp0sw83n1#

您需要能够生成对es的查询,从而有效地将源数据划分为相对相等的块。然后,您可以在并行度>1的情况下运行输入源,并使每个子任务只读索引数据的一部分。

相关问题