如何在Azure DataBrick中获取runID或processid?

时间:2020-01-25 07:12:33

标签: python azure pyspark pid azure-databricks

我一直试图在DataBricks中获取RUNID或进程ID。 我所说的RUNID或进程ID是指每次笔记本运行时都生成一个唯一的ID。 好吧,我尝试了几种方法,但是它们给出的是会话ID,而不是运行ID。 这些是:

dbutils.notebook.entry_point.getDbutils().notebook().getContext().tags().apply('sessionId')

我试图调用bash env

%sh
ps -fe

以下代码返回null:

%scala
dbutils.notebook.getContext.rootRunId

所以你能帮我吗?

谢谢

1 个答案:

答案 0 :(得分:1)

注意:仅由Databricks执行程序启动的作业使用在阶段中指定的作业ID显示。所有作业实例的作业ID均相同。

您可以在Data Collector日志中找到特定实例的运行ID。

Databricks执行程序还将作业的运行ID写入事件记录。要保留所有运行ID的记录,请为该阶段启用事件生成。

有不同的方法来获取任何给定作业的RunId:

Azure Databricks门户(用户界面)::通过单击“作业”选项卡,您可以查看所有已创建的作业。

enter image description here

选择任何作业可获取每次运行的详细RunId。

enter image description here

使用Kusto查询语言的Azure门户(用户界面):如果已配置诊断日志传递,则可以使用KQL查询来获取JobID和RunID:

enter image description here

Databricks REST API:您可以使用以下REST API命令获取作业和运行列表。

curl "https://centralus.azuredatabricks.net/api/2.0/jobs/runs/list" -X GET -H "Authorization: Bearer dapia08sjflksjs9jfra6a34a"

enter image description here

希望这会有所帮助。

相关问题