首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否可以将es.batch.write.retry.count设置为零值

是否可以将es.batch.write.retry.count设置为零值
EN

Stack Overflow用户
提问于 2019-11-29 13:29:57
回答 1查看 212关注 0票数 1

我只想停止spark作业,如果在向ES写入数据时发生任何异常。有一个配置es.batch.write.retry.count的默认值是3。我们可以设置es.batch.write.retry.count =0,这样如果按照我的要求发生故障,spark数据帧写入ES就会停止吗?

EN

回答 1

Stack Overflow用户

发布于 2019-12-01 06:09:24

es.batch.write.retry.count的配置只是处理在放弃并移动到下一批之前为每一批尝试写入elastic的时间,它不会影响您的spark作业。你可以做的变通办法是设置spark.task.maxFailures=1,但它会影响你的整个作业,而不仅仅是对elasticsearch的写入。

你应该注意到,因为对elastic的写入不是事务性的,所以如果一个向elastic写入的任务失败了,这并不意味着你的一些数据已经被写入elastic。

我不知道你的用例是什么,但是如果你想确保你所有的数据都被写到了elasticsearch中,你应该做一个_count查询,并在写完之后检查它是否等于df.count() (假设你是在写新的索引)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59099203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档