如何获取 Azure DataBricks 中的 runID 或 processid?

How to get the runID or processid in 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

以下代码返回空值:

%scala
dbutils.notebook.getContext.rootRunId

所以你能帮我解决这个问题吗?

谢谢,

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

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

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

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

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

Select 任何作业以获取每个 运行.

的详细 RunId

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

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

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

希望这对您有所帮助。