如何通过java中的应用程序ID获取Spark应用程序句柄

时间:2017-04-13 03:44:18

标签: apache-spark yarn

我通过spark启动器提交spark应用程序。我不会等到应用程序完成,但需要让位杀死应用程序。

SparkAppHandle spark = new SparkLauncher()
            .setAppResource("/usr/local/myapp.jar")
            .setMainClass("com.myapp.app")
            .setMaster("yarn")
            .setDeployMode( "cluster")
            .startApplication( this);

并获取应用ID。

String id = spark.getAppId(); // how to wait untill not UNKONWN?
SparkAppHandle curApp = ???.getHandleByID( id); // how to get?

如何通过App ID获取SparkAppHnadle,因此我可以调用destory()方法。

1 个答案:

答案 0 :(得分:1)

没有方法可以通过其他信息获取SparkAppHandle。我通过制作具有appID或唯一字符串作为键的hashmap以及SparkAppHandle作为值来解决它。这不是根本的解决方案,但到目前为止它只是解决方案。