我正在使用spark-submit命令提交Apache Spark作业。我想检索使用spark-submit命令提交的作业的应用程序ID或作业ID。推荐的方法是什么?
答案 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">×</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
希望这能回答您的问题。