【发布时间】:2016-12-28 06:10:27
【问题描述】:
我想阻止 Spark 重试 Spark 应用程序,以防引发某些特定异常。我只想在满足某些条件的情况下限制重试次数。否则,我想要默认的重试次数。
请注意,Spark 应用程序只运行一个 Spark 作业。
我尝试在异常情况下设置javaSparkContext.setLocalProperty("spark.yarn.maxAppAttempts", "1");,但它仍然重试整个工作。
我提交 Spark 申请如下:
spark-submit --deploy-mode cluster theSparkApp.jar
我有一个用例,如果输出是由同一个作业的上一次重试创建的,我想删除它,但如果输出文件夹不为空(第一次重试),则作业失败。你能想到任何其他方法来实现这一点吗?
【问题讨论】:
-
如何提交 Spark 应用程序进行部署?使用的命令行选项和 Spark 属性是什么?顺便说一句,即使你说你的意思是“整个 Spark 应用程序”,你仍然使用“整个工作仍在重试”。一个 Spark 应用程序可以运行/提交一个或多个 Spark 作业。
-
能否请您改用
spark-submit --deploy-mode cluster --conf spark.yarn.maxAppAttempts=1(并在命令行中使用 Spark 设置)。