取消
顯示的結果
而不是尋找
你的意思是:

如何通過編程得到火花工作ID運行引發的任務?

FRG96
新的貢獻者三世

在火花我們可以得到任務內的火花應用程序ID以編程方式使用:

SparkEnv.get.blockManager.conf.getAppId

我們可以嚐試階段ID和任務ID運行任務的使用:

TaskContext.get。stageId TaskContext.get.taskAttemptId

有什麼辦法可以得到火花工作Id關聯到一個運行的任務(最好使用TaskContext或SparkEnv) ?

StackOverflow相關問題:https://stackoverflow.com/questions/70929032/how-to-programmatically-get-the-spark-job-id-of-a-runni..。

1接受解決方案

接受的解決方案

Dan_Z
尊敬的貢獻者

@Franklin喬治,老實說,沒有簡單的方法來做到這一點。你唯一的選擇是建立集群日誌交付,這將給你訪問集群的事件日誌文件。這個JSON和事件日誌文件包含所有的信息SparkUI使用(以及更多)。它將您正在尋找的信息但不瑣碎的手工解析。我想不出一個更好的選擇。

在原帖子查看解決方案

6個回答6

Kaniz
社區經理
社區經理

嗨@Franklin喬治!我的名字叫Kaniz,我這裏的技術主持人。很高興認識你,謝謝你的問題!看看你的同行在社區中有一個回答你的問題。否則我將盡快給你回電。謝謝。

Kaniz
社區經理
社區經理

嗨@Franklin喬治,

這取決於您使用的是哪種語言。

Scala

https://spark.apache.org/docs/1.6.1/api/scala/index.html org.apache.spark.SparkContext

sc.applicationId

Java

https://spark.apache.org/docs/1.6.2/api/java/org/apache/spark/api/java/JavaSparkContext.html

.applicationId sparkContext.sc () ();

Python

http://spark.apache.org/docs/1.6.2/api/python/pyspark.html pyspark.SparkContext

sc.applicationId

它還可以依靠火花的版本。

User16763506477
貢獻者三世

嗨@Franklin喬治,stackoverflow也提到過,jobIdToStageIds映射是存儲在火花上下文(DagScheduler)。所以我不認為可以得到這個信息在執行程序在任務運行時的水平上。

我可以知道你想做什麼與jobId任務水平?什麼是用例?

FRG96
新的貢獻者三世

嗨@Gaurav Rupnar,我有火花SQL UDF(作為Scala實現方法),我想要的細節引發稱為UDF的SQL查詢,尤其是一個惟一的查詢ID,在SparkSQL火花ID的工作。這就是為什麼我想要一個方法檢測工作UDF的ID代碼本身當上執行任務的執行者。

我UDF的邏輯需要這種獨特的查詢id (id)工作執行UDF執行(s)將為每個SparkSQL查詢是一致的。

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map