使用 shuf 来打乱一个文件中的行或是选择文件中一个随机的行。

在批量(比如bulk api或者 spark es直接写入dataframe)写入ES时,如果出现部分失败,如何保证可靠性?

Elasticsearch | 作者 wssmao | 发布于2019年02月17日 | 阅读数:5190

在批量(比如bulk api或者 spark es直接写入dataframe)写入ES时,如果出现部分失败,如何保证可靠性?
这种当前有什么好的建议方案吗?
比如是全部重写批量写入还是...?
 
已邀请:

rochy - rochy_he

赞同来自: liangfuru2020 EnglishVillage

bulk 写入是不支持事务的,推荐你使用自定义文档 id 的方式
这样当某个操作失败时,重新执行这整个操作即可
ES 会根据 ID 进行自动覆盖,不会出现数据重复
 
还有另外一个方法是解析 bulk 返回的错误信息,错误信息里面包含了失败的文档信息
你需要重新对这些错误文档进行处理即可

要回复问题请先登录注册