gpt4 book ai didi

hadoop - 在具有多个操作(作业)的 Spark 应用程序中重新运行失败的 Spark 作业

转载 作者:可可西里 更新时间:2023-11-01 15:57:15 26 4
gpt4 key购买 nike

假设我有一个 spark 应用程序并且有两个操作导致两个 spark 作业。

//spark Application 
//Spark Job1
....
errorCount.saveAsTextFile(errorCountOpPath);

//spark Job2
......
debugCount.saveAsTextFile(debCountOpPath);

现在假设我们使用 spark 提交命令在 Yarn 上启动了 spark 应用程序。作业 1 成功,作业 2 失败。

现在我想重新运行 job2,因为它失败了。

当我尝试使用 spark submit 命令在 Yarn 上重新启动 spark 应用程序时,job1 和 job2 都被触发了。但我不希望 job1 被触发,因为它已经成功完成。

有什么方法可以确保只有失败的 spark 应用程序作业才会运行?

最佳答案

您可以像下面这样检查您的 saveAsTextFile 调用:-

val conf = sc.hadoopConfiguration
val fs = org.apache.hadoop.fs.FileSystem.get(conf)
val exists = fs.exists(new org.apache.hadoop.fs.Path("/path/on/hdfs/to/SUCCESS.txt"))
if(!exists) {
// write the the file
}

关于hadoop - 在具有多个操作(作业)的 Spark 应用程序中重新运行失败的 Spark 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42553832/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com