我通过 spark launcher 提交 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()方法。
最佳答案
没有办法通过它的其他信息得到SparkAppHandle。我通过制作以 appID 或唯一字符串作为键并以 SparkAppHandle 作为值的 hashmap 来解决它。这不是根本解决方案,但它是目前唯一的解决方案。
关于apache-spark - 如何在 Java 中通过应用程序 ID 获取 Spark 应用程序句柄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43383178/