如何使用Spark-submit命令获取提交到Spark集群的作业的应用程序ID /作业ID?

时间:2018-09-08 03:37:13

标签: apache-spark

我正在使用spark-submit命令提交Apache Spark作业。我想检索使用spark-submit命令提交的作业的应用程序ID或作业ID。推荐的方法是什么?

3 个答案:

答案 0 :(得分:1)

可以解析spark-submit命令的输出以获取应用程序ID。这是您应该查看的行-

  

2018-09-08 12:01:22 INFO StandaloneSchedulerBackend:54-使用应用程序ID为app-20180908120122-0001连接到Spark集群

<!DOCTYPE html>
<html lang="en">
<head>
  <base href=""> 
  <title>Example</title>
  <!--meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'"-->
  <link rel="stylesheet" media="screen" href="fiddle.css">

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.13.1/css/bootstrap-select.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="fiddle.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.bundle.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.13.1/js/bootstrap-select.min.js"></script>
  </head>
<body>  
  Did you see the dialog box?
  <div class="modal" tabindex="-1" role="dialog" id="mydialog">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title">Modal title</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
        <p>Modal body text goes here.</p>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-primary">Save changes</button>
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
      </div>
    </div>
  </div>
</div>
<¬- UNCOMMENT THIS AND THE MODAL WILL SHOW-->
<!--script>
$('#mydialog').modal('show');    
  </script-->

</body>

您的用例尚不清楚,但是如果您在工作完成后正在寻找应用程序ID,则可能会有所帮助。对于纱线和其他簇,该线可能不同。

答案 1 :(得分:1)

您可以通过其UUID或查询名称获取“正在运行的流作业”

例如:sparkSession.streams.active.get(UUID)(其中UUID为Job RunId)

答案 2 :(得分:0)

由于尚不清楚您是否希望在应用中以编程方式使用它,因此我假设您会这样做, 您可以使用以下命令获取纱线应用程序ID或作业ID(在本地模式下)

val sparkSession: SparkSession = ???
val appID:String = sparkSession.sparkContext.applicationId

希望这能回答您的问题。