как отправить параметры в блокнот databricks?

#python #databricks

Вопрос:

Я запускаю блокнот databricks, используя следующий код:

 TOKEN = "xxxxxxxxxxxxxxxxxxxx"
headers = {"Authorization": "Bearer %s" % TOKEN}
data = {
    "job_id": xx,
    "notebook_task": {
        "base_parameters": {
            "param1":"key1",
            "param2": "key2",
        }
    },
}

resp = requests.post(
    "https://xxxxxx.cloud.databricks.com/api/2.0/jobs/run-now",
    headers=headers,
    data=json.dumps(data),
)
 

когда я пытаюсь получить к нему доступ с помощью dbutils.widgets.get("param1") , я получаю следующую ошибку:

 com.databricks.dbutils_v1.InputWidgetNotDefined: No input widget named param1
 

Я также попытался использовать параметры notebook_params, что привело к той же ошибке.

Ответ №1:

base_parameters используется только при создании задания. Когда вы запускаете его с run-now помощью , вам нужно указать параметры в качестве notebook_params объекта (doc), поэтому ваш код должен быть :

 data = {
    "job_id": xx,
    "notebook_params": {
        "param1":"key1",
        "param2": "key2",
    },
}
 

Комментарии:

1. Я сделал то же самое, что и выше. Использование dbutils. widgets.get(«param1») выдает следующую ошибку: com.databricks.dbutils_v1.InputWidgetNotDefined: Не определен входной виджет с именем param1