簡體   English   中英

如何使用 Spark-submit 命令獲取提交到 Spark 集群的作業的應用程序 ID/作業 ID?

[英]How to get application Id/Job Id of job submitted to Spark cluster using Spark-submit command ?

我正在使用 spark-submit 命令提交 Apache Spark 作業。 我想檢索使用 spark-submit 命令提交的作業的應用程序 ID 或作業 ID。 推薦的方式應該是什么?

可以解析 spark-submit 命令的輸出以獲取應用程序 ID。 這是你應該看的線 -

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

appId=`./bin/spark-submit <options> 2>&1 | tee /dev/tty | grep -i "Connected to Spark Cluster" | grep -o app-.*[0-9]`
echo $appId
app-20180908120122-0001

您的用例不清楚,但如果您在作業完成后查找應用程序 ID,那么這可能會有所幫助。 對於紗線和其他簇,這條線可能不同。

由於不清楚您是否希望在應用程序中以編程方式使用它,我假設您這樣做,您可以通過以下方式獲取紗線應用程序 ID 或作業 ID(在本地模式下),

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

希望這能回答你的問題。

您可以通過他們的 UUID 或查詢名稱獲得正在運行的流媒體作業

像這樣: sparkSession.streams.active.get(UUID) (其中 UUID 是 Job RunId)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM