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

有可能被dbutils.notbook.run作業運行ID的筆記本運行嗎?

hanspetter
新的貢獻者三世

運行一個筆記本使用時從master-notebook dbutils.notebook.run,運行筆記本電腦打印的url,例如:

筆記本的工作# 223150

筆記本的工作# 223151

有什麼方法來捕捉工作運行ID(# 223150和# 223151)?我們有50個左右的筆記本電腦運行在並行,如果其中一個失敗會很高興見到的實際運行筆記本沒有點擊每個url找到正確的一個。

謝謝:slightly_smiling_face:

18日回複18

匿名
不適用

供參考,Python的筆記本,你可以運行Scala中的id並將其傳遞給通過臨時表:

細胞N: % scala val runId = dbutils.notebook。getContext .currentRunId .getOrElse (System.currentTimeMillis () / 1000 l) .toString

Seq (runId) .toDF .createOrReplaceTempView (“run_id”) (“run_id”)細胞N + 1:

runId = spark.table (run_id) .head () (“run_id”)

ShaunRyan1
新的貢獻者二世

肯定需要一個特性的要求。運行ID是好的,我們知道這是一個筆記本,因此不僅僅應該是筆記本名稱“筆記本”這個詞

這個dbutils.notebook.getContext.currentRunId

產生一個不同的數字,當打印成功!

dbutils.notebook。退出(s " ${筆記本}# $ {dbutils.notebook.getContext。currentRunId}:成功”)
  • # 7890 -給筆記本工作
  • MyNotebookName #一些(RunId(8188)):成功

hanspetter
新的貢獻者三世

這就跟你問聲好!很長時間以來我已經看了這個問題,但我本周重新審視它,找到了一個解決方案。:slightly_smiling_face:

這將返回一個json包含關於筆記本的信息:

.toJson .getContext .notebook dbutils.notebook.entry_point.getDbutils () () () ()

如果筆記本已經被dbutils.notebook.run觸發,我們能在這裏找到標記“jobId”。所以我們可以使用dbutils.notebook.exit返回jobid (job_id):

.notebook進口json notebook_info = json.loads (dbutils.notebook.entry_point.getDbutils () () .getContext () .toJson())試題:#標簽jobId不存在時引發的筆記本不是dbutils.notebook.run (…) jobId = notebook_info(“標記”)(“jobId”):除了jobId = 1 dbutils.notebook.exit (jobId)

當執行筆記本我們得到:

jobid = dbutils.notebook.run(…)打印(jobid)

這個輸出:

筆記本的工作# 1522478

1522478

好吧,這隻能當一個筆記本成功完成。我們所做的是我們一起插入jobid和筆記本路徑與當前時間戳到這個表和查詢的表在異常發生時jobid。

ANILKUMARRAVADA
新的貢獻者二世

這幫助了我很多,但我無法運行時索取browserhostname筆記本。雖然是當前文檔。你能通過一些燈嗎

DungTran
新的貢獻者二世

這是一個更簡單的版本:

.jobId .getContext .notebook dbutils.notebook.entry_point.getDbutils () () () () . get ()

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

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

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

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

Baidu
map