0

我对 sparkSubmit 有一点问题,当我发送我的工作时,我想恢复 appId 以将其存储在某个地方。但我无法找回我的身份证。

所有 sparkLauncher 参数均有效且作业运行良好。

    try{
        LOGGER.debug("Start submit SparkJob");

        try {
            sparkAppHandle = sparkLauncher.startApplication();

            boolean write = false;
            long limitTime = waitingTime /100;

            LOGGER.debug("waiting time : "+waitingTime+"ms");

            int i=0;
            //log
            while( i <= limitTime ){
                Thread.sleep(100);
                i++;
                String id = sparkAppHandle.getAppId();
                if(StringUtils.isNotBlank(id)){
                    LOGGER.debug("i="+(i*100)+"ms,  SPARK id :" + id + ",  SPARK state :" + sparkAppHandle.getState().name());
                    write = true;
                }
            }
            if(!write){
                LOGGER.debug("SPARK id is null");
            }

        } catch (Exception e) {
            LOGGER.debug("ERROR in startApplication " + e);

        }
        LOGGER.debug("End submit SparkJob");

    } catch (Exception e) {
        LOGGER.error("Error in Spark Launcher:", e);
    }

日志:

#09 Mar 2017 17:30:38,745  [DEBUG] (SparkServicesImpl.java:submitSparkJobsWithAppLaunch:143): Start submit SparkJob
#09 Mar 2017 17:30:38,774  [DEBUG] (SparkServicesImpl.java:submitSparkJobsWithAppLaunch:163): waiting time : 60000ms
#09 Mar 2017 17:31:38,942  [DEBUG] (SparkServicesImpl.java:submitSparkJobsWithAppLaunch:177): SPARK id null
#09 Mar 2017 17:31:38,942  [DEBUG] (SparkServicesImpl.java:submitSparkJobsWithAppLaunch:201): End submit SparkJob

我的工作正常运行,一切都与“sparkLauncher.launch();”一起工作 但我不认为我可以用这种方法恢复 appId。

有人能帮我吗 ?

4

1 回答 1

0

尝试 SparkAppHandle.Listener 您可以在 infoChanged 中获取应用程序 ID

于 2017-06-06T06:35:33.627 回答