美文网首页
spark任务级重试导致的clickhouse中数据不一致

spark任务级重试导致的clickhouse中数据不一致

作者: JX907 | 来源:发表于2021-01-27 16:08 被阅读0次

问题:

有个hive2clickhouse任务,在foreachPartition中的逻辑出错时会触发stage的容错,最终任务是成功状态,但clickhouse中的数据会存在重复。(失败前已经写过一部分,clickhouse的主键又不能保证数据一致性)

期望在失败时立即停止运行,由人工干预修复整个任务。

代码大致逻辑如下:

sql.toJavaRDD().repartition(10).foreachPartition(records -> {

// 控制批次写clichouse的逻辑,此处经常会遇到clickhouse负载大而失败

});

解决方案:

设置spark task失败后不再重试,对应参数为: spark.task.maxFailures

@Override

protected SparkConf getSparkConf() {

SparkConf conf = super.getSparkConf();

conf.set("spark.task.maxFailures", "1");

return conf;

}

参考:

https://blog.csdn.net/high2011/article/details/109288539

相关文章

网友评论

      本文标题:spark任务级重试导致的clickhouse中数据不一致

      本文链接:https://www.haomeiwen.com/subject/fgeazktx.html