Databricks 多任务作业 - 将 MLflow run_id 从一个任务传递到下一个任务

Databricks multi-task jobs - pass MLflow run_id from one task to next task

我想按以下顺序创建一个数据块多任务:

是否可以将 run_id 从任务 1 传递到任务 2?如果可以,是否有关于如何完成的文档?

您可以考虑以下步骤,

通过以下代码并解析所需的 run_id 从 note_book1 获取 run id

import requests
import json
class BearerAuth(requests.auth.AuthBase):
    def __init__(self, token):
        self.token = token
    def __call__(self, r):
        r.headers["authorization"] = "Bearer " + self.token
        return r
response = requests.get('https://instancename/api/2.0/jobs/list', auth=BearerAuth('enteryourtoken')).json()
response

我们可以将该变量从 task1 传递到 task2。

截至目前(可能会更改),如果您使用多任务作业,则无法在作业之间传递结果。

但是如果你使用 notebook workflows 和函数 dbutils.notebooks.run:

,你可以调用另一个笔记本作为子作业
# notebook 1
... training code ...
dbutils.notebooks.run("notebook2", 300, {"run_id": run_id})