我一直试图在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
所以你能帮我吗?
谢谢
答案 0 :(得分:1)
注意:仅由Databricks执行程序启动的作业使用在阶段中指定的作业ID显示。所有作业实例的作业ID均相同。
您可以在Data Collector日志中找到特定实例的运行ID。
Databricks执行程序还将作业的运行ID写入事件记录。要保留所有运行ID的记录,请为该阶段启用事件生成。
有不同的方法来获取任何给定作业的RunId:
Azure Databricks门户(用户界面)::通过单击“作业”选项卡,您可以查看所有已创建的作业。
选择任何作业可获取每次运行的详细RunId。
使用Kusto查询语言的Azure门户(用户界面):如果已配置诊断日志传递,则可以使用KQL查询来获取JobID和RunID:
Databricks REST API:您可以使用以下REST API命令获取作业和运行列表。
curl "https://centralus.azuredatabricks.net/api/2.0/jobs/runs/list" -X GET -H "Authorization: Bearer dapia08sjflksjs9jfra6a34a"
希望这会有所帮助。