在 Azure 上的 Databricks 作业中,您可以使用
{{run_id}}
和 {{parent_run_id}}
变量进行特定运行:https://docs.databricks.com/workflows/jobs/jobs.html
对于只有两个或更多任务的 Databricks 作业,那么
{{run_id}}
似乎对应于 task_run_id
和 {{parent_run_id}}
似乎对应于 job_run_id
.
对于只有一个任务的Databricks作业,那么
{{parent_run_id}}
似乎对应了task_run_id
,但是{run_id}}
对应的是什么呢?是那个job_run_id
吗?
{{run_id}} 变量是 Databricks 作业运行的唯一标识符。此标识符由 Databricks 生成,用于跟踪作业运行的进度。
{{parent_run_id}} 变量是 Databricks 作业的父运行的唯一标识符。此标识符由 Databricks 生成,用于跟踪父运行与其子运行之间的关系。
Task 1和Task 2。当这个job运行时,会为job run生成一个新的run ID,同时为Task 1和Task 2的task run生成两个run ID。本例中的{{parent_run_id}}变量将引用作业运行的运行 ID,而 {{run_id}} 变量将引用当前任务运行的运行 ID。因此,在任务 1 中,{{run_id}} 将引用任务 1 的运行 ID,而 {{parent_run_id}} 将引用作业运行的运行 ID。同样,在任务 2 中,{{run_id}} 将引用任务 B 的运行 ID,而 {{parent_run_id}} 将引用作业运行的运行 ID。
综上所述,{{run_id}}变量总是指当前任务或笔记本的运行ID,而{{parent_run_id}}变量总是指触发当前运行的父进程的运行ID。
您可以使用这些变量来监视 Databricks 作业的进度并跟踪父子运行之间的关系。
我从 Databricks 收到了以下答复:
是的,您的理解是正确的,在 Databricks 作业中 对于多个任务,
变量对应于{{run_id}}
和task_run_id
变量对应于{{parent_run_id}}
.job_run_id
对于只有一个任务的 Databricks 作业,
{{parent_run_id}}
变量仍然对应于 task_run_id
,它是该任务的特定运行的唯一标识符。在这种情况下,{{run_id}}
变量将对应于 job_run_id
,它是包含该单个任务的整个作业运行的唯一标识符。
所以,总而言之:
{{run_id}} = task_run_id
,{{parent_run_id}} = job_run_id
{{run_id}} = job_run_id
,{{parent_run_id}} = task_run_id
链接:https://community.databricks.com/s/question/0D58Y00009vaoZiSAI