供參考,Python的筆記本,你可以運行Scala中的id並將其傳遞給通過臨時表:
細胞N: % scala val runId = dbutils.notebook。getContext .currentRunId .getOrElse (System.currentTimeMillis () / 1000 l) .toStringSeq (runId) .toDF .createOrReplaceTempView (“run_id”) (“run_id”)細胞N + 1:
runId = spark.table (run_id) .head () (“run_id”)
肯定需要一個特性的要求。運行ID是好的,我們知道這是一個筆記本,因此不僅僅應該是筆記本名稱“筆記本”這個詞
這個dbutils.notebook.getContext.currentRunId
產生一個不同的數字,當打印成功!
dbutils.notebook。退出(s " ${筆記本}# $ {dbutils.notebook.getContext。currentRunId}:成功”)
這就跟你問聲好!很長時間以來我已經看了這個問題,但我本周重新審視它,找到了一個解決方案。
這將返回一個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。
這幫助了我很多,但我無法運行時索取browserhostname筆記本。雖然是當前文檔。你能通過一些燈嗎