spark->es快速导入数据

elasticsearch-spark 提供了saveToEs api以支持快速导入数据。但es集群线程池有限,在大量写入数据的同时,对cpu的压力非常大,影响线上es的查询服务。如果能参考hbase 的bulkload方法,对es也采用“bulkload”模式,写入性能会有巨大提升。核心思想是通过spark作业生成es的lucene文件,并通过网络传输,写入es的数据文件。

本方案参考滴滴的fastIndex:滴滴FastIndex
采用spark改写,部分特性适应了公司的原始流程,会有不一样的地方。如您采用的是spark saveToEs需要通过该方法进行改写,可参考。

git地址为:https://github.com/Dengyu123/fast-es-rdd

你可能感兴趣的:(spark->es快速导入数据)