如何在Java中部署到YARN的Spark应用程序的applicationId?

时间:2016-12-12 20:46:10

标签: apache-spark

对于Scala,我们可以使用SparkContext.applicationId但是我无法使用Spark的Java API找到任何方法来做同样的事情。

使用SparkConf.getAppId()会导致NoSuchElementException:spark.app.id

是否可以使用其他唯一ID?

我的用例:我希望Spark作业在上一个作业的输出已经存在的情况下不会失败,并且希望避免删除先前作业的输出并避免使用随机UUID

2 个答案:

答案 0 :(得分:4)

您可以使用SparkContext.applicationId

JavaSparkContext jsc = ...;
jsc.sc.applicationId;

答案 1 :(得分:0)

Java代码

System.out.println("appid = " + spark.sparkContext().applicationId());

结果

appid = app-20171023065927-0026