Поделиться через


Jobs API 2.0

Внимание

В этой статье описана версия API заданий версии 2.0. Однако Databricks рекомендует использовать API заданий 2.1 для новых и существующих клиентов и сценариев. Дополнительные сведения об изменениях с версии 2.0 до версии 2.1 см. в разделе "Обновление с API заданий 2.0 до версии 2.1".

С помощью API заданий можно создавать, изменять и удалять задания. Максимально допустимый размер запроса к API заданий — 10 МБ.

Дополнительные сведения об обновлениях API заданий, которые поддерживают оркестрацию нескольких задач с заданиями Azure Databricks, см. в разделе "Обновление с API заданий 2.0 до версии 2.1".

Предупреждение

Ни в коем случае не прописывайте секреты в коде и не храните их в виде обычного текста. Используйте API секретов для управления секретами в интерфейсе командной строки Databricks. Используйте служебную программу для секретов (dbutils.secrets) для создания ссылок на секреты в записных книжках и заданиях.

Примечание.

Если при выполнении запросов API заданий выдается ошибка уровня 500, то Databricks рекомендует повторять запросы до 10 минут (с интервалом в 30 секунд между запросами).

Внимание

Чтобы получить доступ к REST API Databricks, необходимо пройти проверку подлинности.

Create

Конечная точка Метод HTTP
2.0/jobs/create POST

Создать новую работу.

Пример

В этом примере создается задание, которое выполняет задачу JAR каждую ночь в 22:15.

Запросить

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/create \
--data @create-job.json \
| jq .

create-job.json:

{
  "name": "Nightly model training",
  "new_cluster": {
    "spark_version": "7.3.x-scala2.12",
    "node_type_id": "Standard_D3_v2",
    "num_workers": 10
  },
  "libraries": [
    {
      "jar": "dbfs:/my-jar.jar"
    },
    {
      "maven": {
        "coordinates": "org.jsoup:jsoup:1.7.2"
      }
    }
  ],
  "timeout_seconds": 3600,
  "max_retries": 1,
  "schedule": {
    "quartz_cron_expression": "0 15 22 * * ?",
    "timezone_id": "America/Los_Angeles"
  },
  "spark_jar_task": {
    "main_class_name": "com.databricks.ComputeModels"
  }
}

Замена:

В этом примере используется файл .netrc и jq.

Response

{
  "job_id": 1
}

Структура запроса

Внимание

  • При выполнении задания в новом кластере заданий оно рассматривается как рабочая (автоматизированная) нагрузка Jobs Compute с учетом цены Jobs Compute.
  • При выполнении задания в существующем универсальном кластере оно обрабатывается как рабочая (интерактивная) нагрузка Универсальных вычислений с учетом цены этих вычислений.
Имя поля Тип Описание
existing_cluster_id ИЛИ new_cluster STRING ИЛИ NewCluster Если указано existing_cluster_id, идентификатор существующего кластера будет использоваться для всех процессов выполнения этого задания. При выполнении заданий в существующем кластере может потребоваться перезапустить кластер вручную, если он перестанет отвечать на запросы. Для улучшения надежности предлагается выполнять задания на новых кластерах.

Если указано new_cluster, то для каждого процесса выполнения будет создано описание кластера.

При указании PipelineTask это поле может быть пустым.
notebook_taskИЛИ ИЛИ spark_jar_task
spark_python_taskИЛИ ИЛИ spark_submit_task
pipeline_task ИЛИ run_job_task
NotebookTaskOR SparkJarTask OR SparkPythonTask OR SparkSubmitTask OR PipelineTaskOR RunJobTask Если указано notebook_task, это задание должно запускать записную книжку. Это поле не указывается вместе с spark_jar_task.

Если указано spark_jar_task, это задание должно запускать JAR-файл.

Если указано spark_python_task, это задание должно запускать файл Python.

Если указано spark_submit_task, это задание должно запускаться сценарием spark-submit.

Если указано pipeline_task, это задание должно запускать конвейер разностных динамических таблиц.

Если run_job_task, указывает, что это задание должно выполнять другое задание.
name STRING Имя задания (необязательно). Значение по умолчанию — Untitled.
libraries Массив библиотеки Список библиотек (необязательно), которые должны быть установлены в кластере, где будет выполнено задание. Значение по умолчанию — пустой список.
email_notifications JobEmailNotifications Набор адресов (необязательно) электронной почты, на которые приходят уведомления о начале и завершении выполнения этого задания и об его удалении. По умолчанию уведомления по электронной почте не рассылаются.
webhook_notifications WebhookNotifications Необязательный набор назначений системы для уведомления о запуске этого задания, завершении или сбое.
notification_settings JobNotification Параметры Необязательные параметры уведомлений, используемые при отправке уведомлений в каждое из заданий email_notifications и webhook_notifications для этого задания.
timeout_seconds INT32 Время ожидания (необязательно), применяемое к каждому процессу выполнения этого задания. По умолчанию — без времени ожидания.
max_retries INT32 Максимальное количество попыток при неудачном выполнении. Процесс выполнения считается неудачным, если он завершается с состоянием result_state FAILED или
INTERNAL_ERROR
life_cycle_state. Значение -1 означает неопределенное количество повторений, а 0 — без повторов. По умолчанию: без повторов.
min_retry_interval_millis INT32 Минимальный интервал (необязательно) в миллисекундах между неудачным процессом выполнения и последующим повторным процессом выполнения. По умолчанию: неудачные процессы выполнения повторяются немедленно.
retry_on_timeout BOOL Политика (необязательно), указывающая, следует ли повторять задание по истечении времени ожидания. По умолчанию — не делать попытку по истечении времени ожидания.
schedule CronSchedule Расписание (необязательно) с периодическим выполнением этого задания. По умолчанию: задание запускается нажатием кнопки Запустить сейчас в пользовательском интерфейсе задания или отправкой запроса API в runNow.
max_concurrent_runs INT32 Максимально допустимое количество (необязательно) параллельных процессов выполнения задания.

Задайте это значение, если требуется одновременное выполнение нескольких процессов выполнения одного и того же задания. Это полезно, например, если при запуске задания по расписанию с повторениями, и если необходимо, чтобы последовательные процессы выполнения перекрывались друг с другом, или если требуется сделать несколько процессов выполнения, отличающихся исходными параметрами.

Этот параметр влияет только на новые запуски. Например, предположим, что параллелизм задания равен 4, и существует 4 параллельных активных процесса выполнения. После этого установка для параллелизма значения 3 не приведет к уничтожению активных процессов выполнения. Однако после этого новые процессы выполнения пропускаются, если не будет достигнуто не более 3 активных процессов.

Значение не должно превышать 1000. Если это значение равно 0, все новые процессы выполнения пропускаются. По умолчанию: разрешить только 1 параллельный процесс выполнения.

Структура ответа

Имя поля Тип Описание
job_id INT64 Канонический идентификатор для вновь созданного задания.

Список

Конечная точка Метод HTTP
2.0/jobs/list GET

Отобразить список всех заданий.

Пример

Запросить

curl --netrc --request GET \
https://<databricks-instance>/api/2.0/jobs/list \
| jq .

Замените <databricks-instance> на имя экземпляра рабочей области Azure Databricks, например adb-1234567890123456.7.azuredatabricks.net.

В этом примере используется файл .netrc и jq.

Response

{
  "jobs": [
    {
      "job_id": 1,
      "settings": {
        "name": "Nightly model training",
        "new_cluster": {
          "spark_version": "7.3.x-scala2.12",
          "node_type_id": "Standard_D3_v2",
          "num_workers": 10
        },
        "libraries": [
          {
            "jar": "dbfs:/my-jar.jar"
          },
          {
            "maven": {
              "coordinates": "org.jsoup:jsoup:1.7.2"
            }
          }
        ],
        "timeout_seconds": 100000000,
        "max_retries": 1,
        "schedule": {
          "quartz_cron_expression": "0 15 22 * * ?",
          "timezone_id": "America/Los_Angeles",
          "pause_status": "UNPAUSED"
        },
        "spark_jar_task": {
          "main_class_name": "com.databricks.ComputeModels"
        }
      },
      "created_time": 1457570074236
    }
  ]
}

Структура ответа

Имя поля Тип Описание
jobs Массив задания Список заданий.

Удаление

Конечная точка Метод HTTP
2.0/jobs/delete POST

Удалите задание и отправьте сообщение электронной почты по адресам, указанным в JobSettings.email_notifications. Если задание уже удалено, никакие действия не выполняются. После удаления задания его сведения, его журнал выполнения не отображаются в пользовательском интерфейсе заданий или API. Задание гарантированно удаляется после завершения этого запроса. Однако процессы выполнения, которые были активны до получения этого запроса, могут оставаться активными. Они будут завершаться асинхронно.

Пример

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/delete \
--data '{ "job_id": <job-id> }'

Замена:

В этом примере используется файл .netrc.

Структура запроса

Имя поля Тип Описание
job_id INT64 Канонический идентификатор удаляемого задания. Это обязательное поле.

Получение

Конечная точка Метод HTTP
2.0/jobs/get GET

Получите сведения об одном задании.

Пример

Запросить

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/get?job_id=<job-id>' \
| jq .

Или сделайте так:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/get \
--data job_id=<job-id> \
| jq .

Замена:

В этом примере используется файл .netrc и jq.

Response

{
  "job_id": 1,
  "settings": {
    "name": "Nightly model training",
    "new_cluster": {
      "spark_version": "7.3.x-scala2.12",
      "node_type_id": "Standard_D3_v2",
      "num_workers": 10
    },
    "libraries": [
      {
        "jar": "dbfs:/my-jar.jar"
      },
      {
        "maven": {
          "coordinates": "org.jsoup:jsoup:1.7.2"
        }
      }
    ],
    "timeout_seconds": 100000000,
    "max_retries": 1,
    "schedule": {
      "quartz_cron_expression": "0 15 22 * * ?",
      "timezone_id": "America/Los_Angeles",
      "pause_status": "UNPAUSED"
    },
    "spark_jar_task": {
      "main_class_name": "com.databricks.ComputeModels"
    }
  },
  "created_time": 1457570074236
}

Структура запроса

Имя поля Тип Описание
job_id INT64 Канонический идентификатор задания, необходимый для получения информации о задании. Это обязательное поле.

Структура ответа

Имя поля Тип Описание
job_id INT64 Канонический идентификатор для этого задания.
creator_user_name STRING Имя пользователя-создателя. Это поле не будет включено в ответ, если пользователь был удален.
settings JobSettings Параметры для этого задания и всех его процессов выполнения. Эти параметры можно обновить с помощью конечных точек Сброс или Обновление.
created_time INT64 Время, когда задание было создано, выраженное в миллисекундах с начала эпохи (с начала эпохи UNIX 01.01.1970 UTC).

Сброс

Конечная точка Метод HTTP
2.0/jobs/reset POST

Перезаписать все параметры конкретного задания. Используйте конечную точку Обновление для частичного обновления параметров задания.

Пример

В этом примере запрос делает задание 2 идентичным заданию 1 в примере создания.

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/reset \
--data @reset-job.json \
| jq .

reset-job.json:

{
  "job_id": 2,
  "new_settings": {
    "name": "Nightly model training",
    "new_cluster": {
      "spark_version": "7.3.x-scala2.12",
      "node_type_id": "Standard_D3_v2",
      "num_workers": 10
    },
    "libraries": [
      {
        "jar": "dbfs:/my-jar.jar"
      },
      {
        "maven": {
          "coordinates": "org.jsoup:jsoup:1.7.2"
        }
      }
    ],
    "timeout_seconds": 100000000,
    "max_retries": 1,
    "schedule": {
      "quartz_cron_expression": "0 15 22 * * ?",
      "timezone_id": "America/Los_Angeles",
      "pause_status": "UNPAUSED"
    },
    "spark_jar_task": {
      "main_class_name": "com.databricks.ComputeModels"
    }
  }
}

Замена:

В этом примере используется файл .netrc и jq.

Структура запроса

Имя поля Тип Описание
job_id INT64 Канонический идентификатор сбрасываемого задания. Это обязательное поле.
new_settings JobSettings Новые параметры задания. Эти параметры полностью заменяют прежние параметры.

Изменения в поле JobSettings.timeout_seconds применяются к активным процессам выполнения. Изменения в других полях применяются только к будущим процессам выполнения.

Обновление

Конечная точка Метод HTTP
2.0/jobs/update POST

Добавление, изменение или удаление конкретных параметров существующего задания. Используйте конечную точку Сброс, чтобы перезаписать все параметры задания.

Пример

В этом примере запрос удаляет библиотеки и добавляет параметры уведомлений по электронной почте в задание 1, определенное в примере Создание.

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/update \
--data @update-job.json \
| jq .

update-job.json:

{
  "job_id": 1,
  "new_settings": {
    "existing_cluster_id": "1201-my-cluster",
    "email_notifications": {
      "on_start": [ "someone@example.com" ],
      "on_success": [],
      "on_failure": []
    }
  },
  "fields_to_remove": ["libraries"]
}

Замена:

В этом примере используется файл .netrc и jq.

Структура запроса

Имя поля Тип Описание
job_id INT64 Канонический идентификатор обновляемого задания. Это обязательное поле.
new_settings JobSettings Новые параметры для задания.

Поля верхнего уровня, указанные в new_settings, за исключением массивов, полностью заменяются. Массивы объединяются на основе соответствующих ключевых полей, таких как task_key или
job_cluster_keyИ записи массива с тем же ключом полностью заменяются. За исключением объединения массивов, частично обновляемые вложенные поля не поддерживаются.

Изменения в поле JobSettings.timeout_seconds применяются к активным процессам выполнения. Изменения в других полях применяются только к будущим процессам выполнения.
fields_to_remove Массив объектов STRING. Удалите поля верхнего уровня в параметрах задания. Удаление вложенных полей не поддерживается, за исключением записей из tasks массивов и job_clusters массивов. Например, ниже приведен допустимый аргумент для этого поля:
["libraries", "schedule", "tasks/task_1", "job_clusters/Default"]

Это поле необязательно.

Запустить сейчас

Внимание

  • Рабочая область ограничена 1000 одновременных запусков задач. Ответ 429 Too Many Requests возвращается при запросе на выполнение, которое не может быть запущено немедленно.
  • Число заданий, создаваемых рабочей областью в течение часа, ограничено 10000 (включая "Отправка процессов выполнений"). Это ограничение также влияет на задания, создаваемые рабочими процессами записных книжек и REST API.
Конечная точка Метод HTTP
2.0/jobs/run-now POST

Выполните задание сейчас и возвратите run_id запущенного процесса выполнения.

Совет

Если вы делаете вызов Создать вместе с Запустить сейчас, вместо этого можно использовать конечную точку Отправка процессов выполнений, что позволяет отправлять рабочую нагрузку напрямую без создания задания.

Пример

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/run-now \
--data @run-job.json \
| jq .

run-job.json:

Пример запроса для задания записной книжки:

{
  "job_id": 1,
  "notebook_params": {
    "name": "john doe",
    "age": "35"
  }
}

Пример запроса JAR-задания:

{
  "job_id": 2,
  "jar_params": [ "john doe", "35" ]
}

Замена:

В этом примере используется файл .netrc и jq.

Структура запроса

Имя поля Тип Описание
job_id INT64
jar_params Массив объектов STRING. Список параметров для заданий с задачами JAR, например "jar_params": ["john doe", "35"]. Параметры будут использоваться для вызова функции main класса main, указанного в задаче JAR-файла Spark. Если значение не указано run-now, по умолчанию будет указываться пустой список. jar_params запрещено указывать вместе с notebook_params. Представление JSON этого поля (т. е. {"jar_params":["john doe","35"]}) не может превышать 10 000 байт.
notebook_params Сопоставление ParamPair Сопоставление «ключ-значение» для заданий с задачей записной книжки, например
"notebook_params": {"name": "john doe", "age": "35"}. Это сопоставление передается в записную книжку и доступно из функции dbutils.widgets.get.

Если значение не указано run-now, то в запущенном процессе выполнения используются базовые параметры задания.

notebook_params запрещено указывать вместе с jar_params.

Представление JSON этого поля (т. е.
{"notebook_params":{"name":"john doe","age":"35"}}) не может превышать 10 000 байт.
python_params Массив объектов STRING. Список параметров для заданий с задачами Python, например "python_params": ["john doe", "35"]. Параметры будут переданы в файл Python в виде параметров командной строки. Если значение run-now не указано, то будут перезаписаны параметры, указанные в параметре задания. Представление JSON этого поля (т. е. {"python_params":["john doe","35"]}) не может превышать 10 000 байт.
spark_submit_params Массив объектов STRING. Список параметров для заданий с задачей spark-submit, например
"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"]. Параметры будут переданы в сценарий spark-submit в виде параметров командной строки. Если значение run-now не указано, то будут перезаписаны параметры, указанные в параметре задания. Представление JSON этого поля не может превышать 10 000 байт.
idempotency_token STRING Необязательный токен для гарантии идемпотентности запросов на создание кластера. Если выполнение с указанным токеном уже существует, запрос не создаст новое выполнение, но вернет идентификатор существующего процесса. При удалении выполнения с предоставленным маркером возвращается ошибка.

Если вы указали кластер идемпотентности, после сбоя можно повторить попытку до успешного завершения запроса. Azure Databricks гарантирует, что с этим токеном идемпотентности будет запущен только один процесс выполнения.

Этот токен должен содержать не более 64 символов.

Дополнительные сведения см. в разделе Метод обеспечения идемпотентности для заданий.

Структура ответа

Имя поля Тип Описание
run_id INT64 Глобальный уникальный идентификатор вновь запущенного процесса выполнения.
number_in_job INT64 Порядковый номер этого процесса среди всех процессов выполнений задания.

Отправка выполнений

Внимание

  • Рабочая область ограничена 1000 одновременных запусков задач. Ответ 429 Too Many Requests возвращается при запросе на выполнение, которое не может быть запущено немедленно.
  • Число заданий, создаваемых рабочей областью в течение часа, ограничено 10000 (включая "Отправка процессов выполнений"). Это ограничение также влияет на задания, создаваемые рабочими процессами записных книжек и REST API.
Конечная точка Метод HTTP
2.0/jobs/runs/submit POST

Отправьте однократное выполнение. Эта конечная точка позволяет отправлять рабочую нагрузку напрямую без создания задания. Используйте API jobs/runs/get для проверки состояния процесса выполнения после отправки задания.

Пример

Запросить

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/submit \
--data @submit-job.json \
| jq .

submit-job.json:

{
  "run_name": "my spark task",
  "new_cluster": {
    "spark_version": "7.3.x-scala2.12",
    "node_type_id": "Standard_D3_v2",
    "num_workers": 10
  },
  "libraries": [
    {
      "jar": "dbfs:/my-jar.jar"
    },
    {
      "maven": {
        "coordinates": "org.jsoup:jsoup:1.7.2"
      }
    }
  ],
  "spark_jar_task": {
    "main_class_name": "com.databricks.ComputeModels"
  }
}

Замена:

В этом примере используется файл .netrc и jq.

Response

{
  "run_id": 123
}

Структура запроса

Внимание

  • При выполнении задания в новом кластере заданий оно рассматривается как рабочая (автоматизированная) нагрузка Jobs Compute с учетом цены Jobs Compute.
  • При выполнении задания в существующем универсальном кластере оно обрабатывается как рабочая (интерактивная) нагрузка Универсальных вычислений с учетом цены этих вычислений.
Имя поля Тип Описание
existing_cluster_id ИЛИ new_cluster STRING ИЛИ NewCluster Если указано existing_cluster_id, идентификатор существующего кластера будет использоваться для всех процессов выполнения этого задания. При выполнении заданий в существующем кластере может потребоваться перезапустить кластер вручную, если он перестанет отвечать на запросы. Для улучшения надежности предлагается выполнять задания на новых кластерах.

Если указано new_cluster, то для каждого процесса выполнения будет создано описание кластера.

При указании PipelineTask это поле может быть пустым.
notebook_taskИЛИ ИЛИ spark_jar_task
spark_python_taskИЛИ ИЛИ spark_submit_task
pipeline_task ИЛИ run_job_task
NotebookTaskOR SparkJarTask OR SparkPythonTask OR SparkSubmitTask OR PipelineTaskOR RunJobTask Если указано notebook_task, это задание должно запускать записную книжку. Это поле не указывается вместе с spark_jar_task.

Если указано spark_jar_task, это задание должно запускать JAR-файл.

Если указано spark_python_task, это задание должно запускать файл Python.

Если указано spark_submit_task, это задание должно запускаться сценарием spark-submit.

Если указано pipeline_task, это задание должно запускать конвейер разностных динамических таблиц.

Если run_job_task, указывает, что это задание должно выполнять другое задание.
run_name STRING Имя выполнения (необязательно). Значение по умолчанию — Untitled.
webhook_notifications WebhookNotifications Необязательный набор назначений системы для уведомления о запуске этого задания, завершении или сбое.
notification_settings JobNotification Параметры Необязательные параметры уведомлений, используемые при отправке уведомлений каждому webhook_notifications из этих запусков.
libraries Массив библиотеки Список библиотек (необязательно), которые должны быть установлены в кластере, где будет выполнено задание. Значение по умолчанию — пустой список.
timeout_seconds INT32 Время ожидания (необязательно), применяемое к каждому процессу выполнения этого задания. По умолчанию — без времени ожидания.
idempotency_token STRING Необязательный токен для гарантии идемпотентности запросов на создание кластера. Если выполнение с указанным токеном уже существует, запрос не создаст новое выполнение, но вернет идентификатор существующего процесса. При удалении выполнения с предоставленным маркером возвращается ошибка.

Если вы указали кластер идемпотентности, после сбоя можно повторить попытку до успешного завершения запроса. Azure Databricks гарантирует, что с этим токеном идемпотентности будет запущен только один процесс выполнения.

Этот токен должен содержать не более 64 символов.

Дополнительные сведения см. в разделе Метод обеспечения идемпотентности для заданий.

Структура ответа

Имя поля Тип Описание
run_id INT64 Канонический идентификатор для вновь отправленного задания.

Перечень выполнений

Конечная точка Метод HTTP
2.0/jobs/runs/list GET

Перечисление процессов выполнения в убывающем порядке по времени запуска.

Примечание.

Процессы выполнения автоматически удаляются через 60 дней. Если необходимо обращаться к ним больше 60 дней, следует сохранить старые результаты процессов выполнений до истечения срока их действия. Чтобы экспортировать с использованием пользовательского интерфейса, см. раздел Результаты выполнения задания экспорта. Инструкции по экспорту с помощью API заданий см. в разделе Экспорт выполнений.

Пример

Запросить

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/list?job_id=<job-id>&active_only=<true-false>&offset=<offset>&limit=<limit>&run_type=<run-type>' \
| jq .

Или сделайте так:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/list \
--data 'job_id=<job-id>&active_only=<true-false>&offset=<offset>&limit=<limit>&run_type=<run-type>' \
| jq .

Замена:

  • <databricks-instance>именем экземпляра рабочей области Azure Databricks, например adb-1234567890123456.7.azuredatabricks.net.
  • <job-id> на идентификатор задания, например 123.
  • <true-false> на true или false.
  • <offset> на значение offset.
  • <limit> на значение limit.
  • <run-type> на значение run_type.

В этом примере используется файл .netrc и jq.

Response

{
  "runs": [
    {
      "job_id": 1,
      "run_id": 452,
      "number_in_job": 5,
      "state": {
        "life_cycle_state": "RUNNING",
        "state_message": "Performing action"
      },
      "task": {
        "notebook_task": {
          "notebook_path": "/Users/donald@duck.com/my-notebook"
        }
      },
      "cluster_spec": {
        "existing_cluster_id": "1201-my-cluster"
      },
      "cluster_instance": {
        "cluster_id": "1201-my-cluster",
        "spark_context_id": "1102398-spark-context-id"
      },
      "overriding_parameters": {
        "jar_params": ["param1", "param2"]
      },
      "start_time": 1457570074236,
      "end_time": 1457570075149,
      "setup_duration": 259754,
      "execution_duration": 3589020,
      "cleanup_duration": 31038,
      "run_duration": 3879812,
      "trigger": "PERIODIC"
    }
  ],
  "has_more": true
}

Структура запроса

Имя поля Тип Описание
active_only ИЛИ completed_only BOOL ИЛИ BOOL Если active_only имеет значение true, в результаты включаются только активные процессы выполнения, в противном случае — списки активных и завершенных процессов выполнений. Активный процесс выполнения — это процесс в PENDING, RUNNING или TERMINATINGRunLifecycleState. Это поле не может быть true, если completed_only имеет значение true.

Если completed_only имеет значение true, в результаты включаются только завершенные процессы выполнения, в противном случае — списки активных и завершенных процессов выполнений. Это поле не может быть true, если active_only имеет значение true.
job_id INT64 Задание, для которого необходимо вывести список процессов выполнения. Если этот параметр не указан, служба заданий будет выводить список процессов выполнения из всех заданий.
offset INT32 Смещение первого процесса выполнения для возврата относительно последнего процесса выполнения.
limit INT32 Количество процессов выполнения для возврата. Это значение должно быть больше 0 и меньше 1000. Значение по умолчанию — 20. Если в запросе задано ограничение в 0, то служба будет использовать максимальное ограничение.
run_type STRING Тип процессов выполнения для возврата. Описание типов процессов выполнения см. в разделе Выполнение.

Структура ответа

Имя поля Тип Описание
runs Массив процессов выполнения Список процессов выполнения от самого последнего до самого первого.
has_more BOOL Если значение — true, дополнительные процессы выполнения, соответствующие указанному фильтру, доступны для перечисления.

Получение выполнений

Конечная точка Метод HTTP
2.0/jobs/runs/get GET

Получение метаданных процесса выполнения.

Примечание.

Процессы выполнения автоматически удаляются через 60 дней. Если необходимо обращаться к ним больше 60 дней, следует сохранить старые результаты процессов выполнений до истечения срока их действия. Чтобы экспортировать с использованием пользовательского интерфейса, см. раздел Результаты выполнения задания экспорта. Инструкции по экспорту с помощью API заданий см. в разделе Экспорт выполнений.

Пример

Запросить

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get?run_id=<run-id>' \
| jq .

Или сделайте так:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get \
--data run_id=<run-id> \
| jq .

Замена:

В этом примере используется файл .netrc и jq.

Response

{
  "job_id": 1,
  "run_id": 452,
  "number_in_job": 5,
  "state": {
    "life_cycle_state": "RUNNING",
    "state_message": "Performing action"
  },
  "task": {
    "notebook_task": {
      "notebook_path": "/Users/someone@example.com/my-notebook"
    }
  },
  "cluster_spec": {
    "existing_cluster_id": "1201-my-cluster"
  },
  "cluster_instance": {
    "cluster_id": "1201-my-cluster",
    "spark_context_id": "1102398-spark-context-id"
  },
  "overriding_parameters": {
    "jar_params": ["param1", "param2"]
  },
  "start_time": 1457570074236,
  "end_time": 1457570075149,
  "setup_duration": 259754,
  "execution_duration": 3589020,
  "cleanup_duration": 31038,
  "run_duration": 3879812,
  "trigger": "PERIODIC"
}

Структура запроса

Имя поля Тип Описание
run_id INT64 Канонический идентификатор процесса выполнения, для которого извлекаются метаданные. Это обязательное поле.

Структура ответа

Имя поля Тип Описание
job_id INT64 Канонический идентификатор задания, содержащего этот процесс выполнения.
run_id INT64 Канонический идентификатор процесса выполнения. Этот идентификатор уникален для всех процессов выполнения всех заданий.
number_in_job INT64 Порядковый номер этого процесса среди всех процессов выполнений задания. Это значение начинается с 1.
original_attempt_run_id INT64 Если этот процесс выполнения является повторением предыдущей попытки запуска процесса, это поле содержит run_id исходного процесса, в противном случае он совпадает с run_id.
state RunState Результат и состояния жизненного цикла процесса выполнения.
schedule CronSchedule Расписание службы cron, запускающей этот процесс выполнения, если он был запущен планировщиком периодических процессов.
task JobTask Задача, выполняемая процессом выполнения, при наличии.
cluster_spec ClusterSpec Моментальный снимок спецификации кластера задания при создании этого процесса выполнения.
cluster_instance ClusterInstance Кластер, используемый для этого процесса выполнения. Если процесс выполнения указан для использования нового кластера, это поле будет задано после того, как служба заданий запросит кластер для выполнения.
overriding_parameters RunParameters Параметры для этого процесса выполнения.
start_time INT64 Время создания этого процесса выполнения, выраженное в миллисекундах с начала эпохи (с начала эпохи UNIX 01.01.1970 UTC). Это может быть не тем временем, когда задача задания начинает выполнение, например, если задание планируется запускать в новом кластере, это время вызова создания кластера.
end_time INT64 Время завершения этого процесса выполнения, выраженное в миллисекундах с начала эпохи (с начала эпохи UNIX 01.01.1970 UTC). Это поле будет иметь значение 0, если задание все еще выполняется.
setup_duration INT64 Время в миллисекундах, необходимое для настройки кластера. Для процессов выполнения, выполняемых в новых кластерах это время создания кластера, для процессов выполнения в существующих кластерах это время должно быть очень коротким. Общая длительность выполнения — это сумма setup_duration,
execution_duration, и cleanup_duration. Поле setup_duration имеет значение 0 для выполнения многофакторного задания. Общая длительность выполнения многофакторного задания — это значение
run_duration Поле.
execution_duration INT64 Время в миллисекундах, затраченное на выполнение команд в JAR-файле или записной книжке, пока они не были завершены, завершились сбоем, истекло время ожидания, было отменено или произошла непредвиденная ошибка. Общая длительность выполнения — это сумма setup_duration, execution_durationа также
cleanup_duration. Поле execution_duration имеет значение 0 для выполнения многофакторного задания. Общая длительность выполнения многофакторного задания — это значение run_duration поля.
cleanup_duration INT64 Время в миллисекундах, затраченное на завершение работы кластера и очистку связанных артефактов. Общая длительность выполнения — это сумма setup_duration, execution_durationа также cleanup_duration. Поле cleanup_duration имеет значение 0 для выполнения многофакторного задания. Общая длительность выполнения многофакторного задания — это значение run_duration поля.
run_duration INT64 Время в миллисекундах потребовалось выполнение задания и все его ремонты, чтобы завершить. Это поле задано только для выполнения многозадакных заданий, а не для выполнения задач. Длительность выполнения задачи — это сумма
setup_duration, execution_durationи cleanup_duration.
trigger TriggerType Тип триггера, запустившего этот процесс выполнения.
creator_user_name STRING Имя пользователя-создателя. Это поле не будет включено в ответ, если пользователь был удален
run_page_url STRING URL-адрес страницы сведений о процессе выполнения.

Экспорт процессов выполнения

Конечная точка Метод HTTP
2.0/jobs/runs/export GET

Экспорт и получение задачи процесса выполнения задания.

Примечание.

Только процессы выполнения записных книжек можно экспортировать в формате HTML. Экспорт процессов выполнения других типов завершится ошибкой.

Пример

Запросить

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/export?run_id=<run-id>' \
| jq .

Или сделайте так:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/export \
--data run_id=<run-id> \
| jq .

Замена:

В этом примере используется файл .netrc и jq.

Response

{
  "views": [ {
    "content": "<!DOCTYPE html><html><head>Head</head><body>Body</body></html>",
    "name": "my-notebook",
    "type": "NOTEBOOK"
  } ]
}

Чтобы извлечь записную книжку HTML из ответа JSON, скачайте и выполните этот сценарий Python.

Примечание.

Текст записной книжки в объекте __DATABRICKS_NOTEBOOK_MODEL кодируется.

Структура запроса

Имя поля Тип Описание
run_id INT64 Канонический идентификатор для процесса выполнения. Это обязательное поле.
views_to_export ViewsToExport Представления для экспорта (CODE (КОД), DASHBOARDS (ПАНЕЛИ МОНИТОРИНГА) или ALL (ВСЕ)). По умолчанию — CODE (КОД).

Структура ответа

Имя поля Тип Описание
views Массив ViewItem Экспортированное содержимое в формате HTML (по одному для каждого элемента представления).

Отмена процессов выполнения

Конечная точка Метод HTTP
2.0/jobs/runs/cancel POST

Отменяет выполнение задания. Так как выполнение отменяется асинхронно, по завершении этого запроса процесс выполнения может все еще выполняться. В ближайшее время процесс выполнения будет прерван. Если процесс выполнения уже на этапе завершенияlife_cycle_state, этот метод не применяется.

Эта конечная точка проверяет допустимость параметра run_id и для недопустимых параметров возвращает код состояния HTTP 400.

Пример

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel \
--data '{ "run_id": <run-id> }'

Замена:

В этом примере используется файл .netrc.

Структура запроса

Имя поля Тип Описание
run_id INT64 Канонический идентификатор выполнения, которое нужно отменить. Это обязательное поле.

Отмена всех выполнений

Конечная точка Метод HTTP
2.0/jobs/runs/cancel-all POST

Отменяет все активные выполнения задания. Так как выполнение отменено асинхронно, это не предотвращает запуск новых выполнений.

Эта конечная точка проверяет допустимость параметра job_id и для недопустимых параметров возвращает код состояния HTTP 400.

Пример

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel-all \
--data '{ "job_id": <job-id> }'

Замена:

В этом примере используется файл .netrc.

Структура запроса

Имя поля Тип Описание
job_id INT64 Канонический идентификатор задания, для которого нужно отменить все выполнения. Это обязательное поле.

Выходные данные получения процессов выполнения

Конечная точка Метод HTTP
2.0/jobs/runs/get-output GET

Получение выходных данных и метаданных процесса выполнения отдельной задачи. Если задача записной книжки возвращает значение через вызов функции dbutils.notebook.exit(), эту конечную точку можно использовать для получения этого значения. Azure Databricks ограничивает этот интерфейс API, чтобы он возвращал первые 5 МБ выходных данных. Чтобы возвратить больший результат, можно сохранить результаты задания в службе облачного хранения.

Эта конечная точка проверяет допустимость параметра run_id и для недопустимых параметров возвращает код состояния HTTP 400.

Процессы выполнения автоматически удаляются через 60 дней. Если необходимо обращаться к ним больше 60 дней, следует сохранить старые результаты процессов выполнений до истечения срока их действия. Чтобы экспортировать с использованием пользовательского интерфейса, см. раздел Результаты выполнения задания экспорта. Инструкции по экспорту с помощью API заданий см. в разделе Экспорт выполнений.

Пример

Запросить

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get-output?run_id=<run-id>' \
| jq .

Или сделайте так:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get-output \
--data run_id=<run-id> \
| jq .

Замена:

В этом примере используется файл .netrc и jq.

Response

{
  "metadata": {
    "job_id": 1,
    "run_id": 452,
    "number_in_job": 5,
    "state": {
      "life_cycle_state": "TERMINATED",
      "result_state": "SUCCESS",
      "state_message": ""
    },
    "task": {
      "notebook_task": {
        "notebook_path": "/Users/someone@example.com/my-notebook"
      }
    },
    "cluster_spec": {
      "existing_cluster_id": "1201-my-cluster"
    },
    "cluster_instance": {
      "cluster_id": "1201-my-cluster",
      "spark_context_id": "1102398-spark-context-id"
    },
    "overriding_parameters": {
      "jar_params": ["param1", "param2"]
    },
    "start_time": 1457570074236,
    "setup_duration": 259754,
    "execution_duration": 3589020,
    "cleanup_duration": 31038,
    "run_duration": 3879812,
    "trigger": "PERIODIC"
  },
  "notebook_output": {
    "result": "the maybe truncated string passed to dbutils.notebook.exit()"
  }
}

Структура запроса

Имя поля Тип Описание
run_id INT64 Канонический идентификатор для процесса выполнения. Для задания с несколькими задачами это run_id выполнения задачи. См. раздел Выходные данные получения выполнений. Это обязательное поле.

Структура ответа

Имя поля Тип Описание
notebook_output ИЛИ error NotebookOutput ИЛИ STRING Если указано notebook_output, выходные данные задачи записной книжки, если доступны. Задача записной книжки, которая завершается (успешно или с ошибкой) без вызова
dbutils.notebook.exit() считается пустыми выходными данными. Это поле будет установлено, но его значение результата будет пустым.

При ошибке, появляется сообщение об ошибке, указывающее на причину недоступности выходных данных. Сообщение не структурировано, и его точный формат может измениться.
metadata Выполнить Все сведения о процессе выполнения, кроме сведений о выходных данных.

Удаление процессов выполнения

Конечная точка Метод HTTP
2.0/jobs/runs/delete POST

Удаление неактивного процесса выполнения. Возвращает ошибку, если процесс выполнения активен.

Пример

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/delete \
--data '{ "run_id": <run-id> }'

Замена:

В этом примере используется файл .netrc.

Структура запроса

Имя поля Тип Описание
run_id INT64 Канонический идентификатор процесса выполнения, для которого извлекаются метаданные.

Структуры данных

В этом разделе рассматриваются следующие вопросы.

ABFSS служба хранилища Info

Сведения о хранилище Azure Data Lake служба хранилища (ADLS).

Имя поля Тип Описание
destination STRING Место назначения файла. Пример: abfss://...

Автомасштабирование

Диапазон, определяющий минимальное и максимальное число рабочих ролей кластера.

Имя поля Тип Описание
min_workers INT32 Минимальное число рабочих ролей, на которое кластер может масштабироваться при недостаточном использовании. Это также начальное число рабочих ролей, которые кластер будет иметь после создания.
max_workers INT32 Максимальное число рабочих ролей, на которое кластер может масштабироваться при чрезмерном использовании. Значение max_workers должно быть строго больше значения min_workers.

AzureAttributes

Атрибуты, заданные при создании кластера и относящиеся к Azure.

Имя поля Тип Описание
first_on_demand INT32 Первые first_on_demand узлов кластера будут размещены на экземплярах по запросу. Это значение должно быть больше 0, иначе проверка создания кластера завершается неудачно. Если это значение больше или равно текущему размеру кластера, все узлы будут размещены на экземплярах по запросу. Если это значение меньше текущего размера кластера, first_on_demand узлов будут помещены в экземпляры по запросу, а остаток будет помещен в экземпляры доступности. Это значение не влияет на размер кластера и не может быть изменено в течение всего времени существования кластера.
availability AzureAvailability Тип доступности, используемый для всех последующих узлов после first_on_demand.
spot_bid_max_price DOUBLE Максимальная цена на предложение, используемая для экземпляров точки Azure. Вы можете задать для этого параметра значение, большее текущей цены на точечный экземпляр или равное ей. Кроме того, вы можете задать значение -1 (по умолчанию), которое указывает, что экземпляр не может быть вытеснен на основе цены. Цена экземпляра будет равна текущей цене на точечные экземпляры или цене на экземпляр категории "Стандартный". Вы можете просмотреть исторические цены и показатель частоты вытеснения на портале Azure.

AzureAvailability

Поведение типа доступности экземпляра Azure.

Тип Описание
SPOT_AZURE Использование точечных экземпляров.
ON_DEMAND_AZURE Использование экземпляров по запросу.
SPOT_WITH_FALLBACK_AZURE Предпочтительно использовать точечные экземпляры, но возвращаться к экземплярам по запросу, если не удается получить точечные (например, если цены на точечные экземпляры Azure слишком высоки или квоты исчерпаны). Не применяется к доступности пула.

ClusterInstance

Идентификаторы для кластера и контекста Spark, используемые процессом выполнения. Эти два значения вместе обозначают контекст выполнения в течение всего времени.

Имя поля Тип Описание
cluster_id STRING Канонический идентификатор кластера, используемого процессом выполнения. Это поле всегда доступно для процессов выполнения в существующих кластерах. Для процессов выполнения в новых кластерах оно становятся доступными после создания кластера. Это значение можно использовать для просмотра журналов, перейдя к /#setting/sparkui/$cluster_id/driver-logs. Журналы по-прежнему будут доступны по завершении процесса выполнения.

Ответ не будет включать это поле, если идентификатор еще не доступен.
spark_context_id STRING Канонический идентификатор контекста Spark, используемого процессом выполнения. Это поле будет заполнено после запуска процесса выполнения. Это значение можно использовать для просмотра пользовательского интерфейса Spark, перейдя к /#setting/sparkui/$cluster_id/$spark_context_id. Пользовательский интерфейс Spark будет по-прежнему доступен после завершения процесса выполнения.

Ответ не будет включать это поле, если идентификатор еще не доступен.

ClusterLogConf

Путь к журналу кластера.

Имя поля Тип Описание
dbfs DbfsStorageInfo Расположение DBFS журнала кластера. Необходимо указать назначение. Например,
{ "dbfs" : { "destination" : "dbfs:/home/cluster_log" } }

ClusterSpec

Внимание

  • При выполнении задания в новом кластере заданий оно рассматривается как рабочая (автоматизированная) нагрузка Jobs Compute с учетом цены Jobs Compute.
  • При выполнении задания в существующем универсальном кластере оно обрабатывается как рабочая (интерактивная) нагрузка Универсальных вычислений с учетом цены этих вычислений.
Имя поля Тип Описание
existing_cluster_id ИЛИ new_cluster STRING ИЛИ NewCluster Если указано existing_cluster_id, идентификатор существующего кластера будет использоваться для всех процессов выполнения этого задания. При выполнении заданий в существующем кластере может потребоваться перезапустить кластер вручную, если он перестанет отвечать на запросы. Для улучшения надежности предлагается выполнять задания на новых кластерах.

Если указано new_cluster, то для каждого процесса выполнения будет создано описание кластера.

При указании PipelineTask это поле может быть пустым.
libraries Массив библиотеки Список библиотек (необязательно), которые должны быть установлены в кластере, где будет выполнено задание. Значение по умолчанию — пустой список.

ClusterTag

Определение тега кластера.

Тип Описание
STRING Ключ тега. Ключ должен:

*Иметь длину от 1 до 512 символов.
*Не содержать символов <>%*&+?\\/
*Не начинаться с azure, microsoft или windows
STRING Значение тега. Длина значения должна быть не более 256 символов стандарта UTF-8.

CronSchedule

Имя поля Тип Описание
quartz_cron_expression STRING Выражение cron с использованием синтаксиса Quartz, описывающее расписание для задания. Дополнительные сведения см. в разделе Триггер Cron. Это обязательное поле.
timezone_id STRING Идентификатор часового пояса Java. Расписание для задания будет разрешено по отношению к этому часовому поясу. Дополнительные сведения см. в разделе Часовой пояс Java. Это обязательное поле.
pause_status STRING Укажите, приостановлено ли это расписание или нет. Либо “PAUSED” (ПРИОСТАНОВЛЕНО), либо “UNPAUSED” (НЕПРИОСТАНОВЛЕНО).

DbfsStorageInfo

Сведения о хранилище DBFS.

Имя поля Тип Описание
destination STRING Назначение DBFS. Пример: dbfs:/my/path

FileStorageInfo

Сведения о хранилище файлов.

Примечание.

Этот тип расположения доступен только для кластеров, настроенных с помощью служб контейнеров Databricks.

Имя поля Тип Описание
destination STRING Место назначения файла. Пример: file:/my/file.sh

InitScriptInfo

Путь к скрипту инициализации.

Инструкции по использованию скриптов инициализации со службами контейнеров Databricks см. в разделе Использование скрипта инициализации.

Примечание.

Тип хранилища файлов (имя поля: file) доступен только для кластеров, настроенных с помощью служб контейнеров Databricks. См. файл служба хранилища Info.

Имя поля Тип Описание
workspace ИЛИ
dbfs (не рекомендуется)

ИЛИ
abfss
Рабочая область служба хранилища Info

Dbfs служба хранилища Info (не рекомендуется)

ABFSS служба хранилища Info
Расположение рабочей области скрипта init. Необходимо указать назначение. Например,
{ "workspace" : { "destination" : "/Users/someone@domain.com/init_script.sh" } }

(не рекомендуется) Расположение скрипта инициализации DBFS. Необходимо указать назначение. Например,
{ "dbfs" : { "destination" : "dbfs:/home/init_script" } }

Расположение скрипта init в Azure Data Lake служба хранилища (ADLS). Необходимо указать назначение. Например: { "abfss": { "destination" : "abfss://..." } }

Задание

Имя поля Тип Описание
job_id INT64 Канонический идентификатор для этого задания.
creator_user_name STRING Имя пользователя-создателя. Это поле не будет включено в ответ, если пользователь был уже удален.
run_as STRING Имя пользователя, от имени которого будет выполняться задание. run_as основывается на текущих параметрах задания, и назначается создателю задания, если управление доступом к заданиям выключено, или разрешению is_owner, если включено.
settings JobSettings Параметры для этого задания и всех его процессов выполнения. Эти параметры можно обновить с помощью метода resetJob.
created_time INT64 Время, когда задание было создано, выраженное в миллисекундах с начала эпохи (с начала эпохи UNIX 01.01.1970 UTC).

JobEmailNotifications

Внимание

Поля on_start, on_success и on_failure принимают только латинские символы (кодировка ASCII). При использовании не-ASCII символов, будет возвращена ошибка. Примерами недопустимых не-ASCII символов , являются китайские и японские иероглифы, а также эмодзи.

Имя поля Тип Описание
on_start Массив объектов STRING. Список адресов электронной почты, на которые будут отправлены уведомления о начале процесса выполнения. Если значение не указано при создании, сбросе или обновлении задания, список пуст, и уведомления не отправляются.
on_success Массив объектов STRING. Список адресов электронной почты, на которые будут отправлены уведомления при успешном завершении процесса выполнения. Запуск считается успешно завершенным, если он заканчивается с помощью TERMINATEDlife_cycle_state a и a SUCCESSFULresult_state. Если значение не указано при создании, сбросе или обновлении задания, список пуст, и уведомления не отправляются.
on_failure Массив объектов STRING. Список адресов электронной почты, на которые будут отправлены уведомления о неудачном завершении процесса выполнения. Процесс выполнения считается завершенным неудачно, если он заканчивается со значением INTERNAL_ERROR
life_cycle_state или SKIPPED, FAILED или TIMED_OUT result_state. Если это не указано при создании задания, сбросе или обновлении списка пусто, а уведомления не отправляются.
on_duration_warning_threshold_exceeded Массив объектов STRING. Список адресов электронной почты, которые необходимо уведомить, когда длительность выполнения превышает пороговое значение, указанное для RUN_DURATION_SECONDS метрики в health поле. Если в поле задания не указано health правило для RUN_DURATION_SECONDS метрики, уведомления не отправляются.
no_alert_for_skipped_runs BOOL Если значение — true (истина), не отправлять уведомления по электронной почте получателям, указанным в on_failure, если процесс выполнения пропускается.
Имя поля Тип Описание
on_start Массив веб-перехватчика Необязательный список системных назначений, которые будут получать уведомления при запуске. Если значение не указано при создании, сбросе или обновлении задания, список пуст, и уведомления не отправляются. Для свойства можно указать не более 3 назначений on_start .
on_success Массив веб-перехватчика Необязательный список назначений системы, который будет получать уведомления при успешном завершении выполнения. Запуск считается успешно завершенным, если он заканчивается с помощью TERMINATEDlife_cycle_state a и a SUCCESSFULresult_state. Если значение не указано при создании, сбросе или обновлении задания, список пуст, и уведомления не отправляются. Для свойства можно указать не более 3 назначений on_success .
on_failure Массив веб-перехватчика Необязательный список назначений системы, который будет получать уведомления при неудачном завершении выполнения. Процесс выполнения считается завершенным неудачно, если он заканчивается со значением INTERNAL_ERROR
life_cycle_state или SKIPPED, FAILED или TIMED_OUT result_state. Если это не указано при создании задания, сбросе или обновлении списка пусто, а уведомления не отправляются. Для свойства можно указать не более 3 назначений on_failure .
on_duration_warning_threshold_exceeded Массив веб-перехватчика Необязательный список назначений системы, который будет получать уведомления, когда длительность выполнения превышает пороговое значение, указанное для RUN_DURATION_SECONDS метрики в health поле. Для свойства можно указать не более 3 назначений on_duration_warning_threshold_exceeded .

JobNotification Параметры

Имя поля Тип Описание
no_alert_for_skipped_runs BOOL Если значение true, не отправляйте уведомления получателям, указанным в on_failure том случае, если выполнение пропущено.
no_alert_for_canceled_runs BOOL Если значение true, не отправляйте уведомления получателям, указанным в on_failure случае отмены выполнения.
alert_on_last_attempt BOOL Если задано значение true, не отправляйте уведомления получателям, указанным on_start для повторных запусков, и не отправляйте уведомления получателям, указанным on_failure до последнего повтора выполнения.

JobSettings

Внимание

  • При выполнении задания в новом кластере заданий оно рассматривается как рабочая (автоматизированная) нагрузка Jobs Compute с учетом цены Jobs Compute.
  • При выполнении задания в существующем универсальном кластере оно обрабатывается как рабочая (интерактивная) нагрузка Универсальных вычислений с учетом цены этих вычислений.

Параметры для задания. Эти параметры можно обновить с помощью метода resetJob.

Имя поля Тип Описание
existing_cluster_id ИЛИ new_cluster STRING ИЛИ NewCluster Если указано existing_cluster_id, идентификатор существующего кластера будет использоваться для всех процессов выполнения этого задания. При выполнении заданий в существующем кластере может потребоваться перезапустить кластер вручную, если он перестанет отвечать на запросы. Для улучшения надежности предлагается выполнять задания на новых кластерах.

Если указано new_cluster, то для каждого процесса выполнения будет создано описание кластера.

При указании PipelineTask это поле может быть пустым.
notebook_taskИЛИ ИЛИ spark_jar_task
spark_python_taskИЛИ ИЛИ spark_submit_task
pipeline_task ИЛИ run_job_task
NotebookTaskOR SparkJarTask OR SparkPythonTask OR SparkSubmitTask OR PipelineTaskOR RunJobTask Если указано notebook_task, это задание должно запускать записную книжку. Это поле не указывается вместе с spark_jar_task.

Если указано spark_jar_task, это задание должно запускать JAR-файл.

Если указано spark_python_task, это задание должно запускать файл Python.

Если указано spark_submit_task, это задание должно запускаться сценарием spark-submit.

Если указано pipeline_task, это задание должно запускать конвейер разностных динамических таблиц.

Если run_job_task, указывает, что это задание должно выполнять другое задание.
name STRING Имя задания (необязательно). Значение по умолчанию — Untitled.
libraries Массив библиотеки Список библиотек (необязательно), которые должны быть установлены в кластере, где будет выполнено задание. Значение по умолчанию — пустой список.
email_notifications JobEmailNotifications Набор адресов электронной почты (необязательно), на которые будут отправлено уведомление о запуске или завершении процессов выполнения этого задания, а также об удалении этого задания. По умолчанию уведомления по электронной почте не рассылаются.
webhook_notifications WebhookNotifications Необязательный набор назначений системы для уведомления о запуске этого задания, завершении или сбое.
notification_settings JobNotification Параметры Необязательные параметры уведомлений, используемые при отправке уведомлений в каждое из заданий email_notifications и webhook_notifications для этого задания.
timeout_seconds INT32 Время ожидания (необязательно), применяемое к каждому процессу выполнения этого задания. По умолчанию — без времени ожидания.
max_retries INT32 Максимальное количество попыток при неудачном выполнении. Процесс выполнения считается неудачным, если он завершается с состоянием result_state FAILED или
INTERNAL_ERROR
life_cycle_state. Значение -1 означает неопределенное количество повторений, а 0 — без повторов. По умолчанию: без повторов.
min_retry_interval_millis INT32 Минимальный интервал (необязательно) в миллисекундах между попытками. По умолчанию: неудачные процессы выполнения повторяются немедленно.
retry_on_timeout BOOL Политика (необязательно), указывающая, следует ли повторять задание по истечении времени ожидания. По умолчанию — не делать попытку по истечении времени ожидания.
schedule CronSchedule Расписание (необязательно) с периодическим выполнением этого задания. По умолчанию: задание будет запускаться только при нажатии кнопки «Запустить сейчас» в пользовательском интерфейсе заданий или отправкой запроса API в
runNow.
max_concurrent_runs INT32 Максимально допустимое количество (необязательно) параллельных процессов выполнения задания.

Задайте это значение, если требуется одновременное выполнение нескольких процессов выполнения одного и того же задания. Это полезно, например, если при запуске задания по расписанию с повторениями, и если необходимо, чтобы последовательные процессы выполнения перекрывались друг с другом, или если требуется сделать несколько процессов выполнения, отличающихся исходными параметрами.

Этот параметр влияет только на новые запуски. Например, предположим, что параллелизм задания равен 4, и существует 4 параллельных активных процесса выполнения. После этого установка для параллелизма значения 3 не приведет к уничтожению активных процессов выполнения. Однако после этого новые процессы выполнения будут пропускаться, пока не будет достигнуто не более 3 активных процессов.

Значение не должно превышать 1000. Если это значение равно 0, все новые процессы выполнения пропускаются. По умолчанию: разрешить только 1 параллельный процесс выполнения.
health JobsHealthRules Необязательный набор правил работоспособности, определенных для задания.

JobTask

Имя поля Тип Описание
notebook_taskИЛИ ИЛИ spark_jar_task
spark_python_taskИЛИ ИЛИ spark_submit_task
pipeline_task ИЛИ run_job_task
NotebookTaskOR SparkJarTask OR SparkPythonTask OR SparkSubmitTask OR PipelineTaskOR RunJobTask Если указано notebook_task, это задание должно запускать записную книжку. Это поле не указывается вместе с spark_jar_task.

Если указано spark_jar_task, это задание должно запускать JAR-файл.

Если указано spark_python_task, это задание должно запускать файл Python.

Если указано spark_submit_task, это задание должно запускаться сценарием spark-submit.

Если указано pipeline_task, это задание должно запускать конвейер разностных динамических таблиц.

Если run_job_task, указывает, что это задание должно выполнять другое задание.

JobsHealthRule

Имя поля Тип Описание
metric STRING Указывает метрику работоспособности, которая вычисляется для определенного правила работоспособности. Допустимые значения: RUN_DURATION_SECONDS.
operator STRING Указывает оператор, используемый для сравнения значения метрик работоспособности с указанным пороговым значением. Допустимые значения: GREATER_THAN.
value INT32 Указывает пороговое значение, которое метрика работоспособности должна соответствовать правилу работоспособности.

JobsHealthRules

Имя поля Тип Описание
rules Массив JobsHealthRule Необязательный набор правил работоспособности, которые можно определить для задания.

Библиотека

Имя поля Тип Описание
jarИЛИ ИЛИ egg ИЛИ whl
pypiИЛИ ИЛИ mavencran
STRING, STRING, STRING, PythonPyPiLibrary, MavenLibrary или RCranLibrary Если используется jar, указывается универсальный код ресурса (URI) устанавливаемой библиотеки JAR. Поддерживаются URI DBFS и ADLS (abfss). Например, { "jar": "dbfs:/mnt/databricks/library.jar" } или
{ "jar": "abfss://<container-path>/library.jar" }. Если используется ADLS, убедитесь, что кластер имеет доступ на чтение в библиотеке.

Если используется jar, указывается URI устанавливаемого файла egg. Поддерживаются URI DBFS и ADLS. Например, { "egg": "dbfs:/my/egg" } или
{ "egg": "abfss://<container-path>/egg" }.

Если whl, необходимо установить универсальный код ресурса (URI) установленного wheel или архивного кода wheels . Поддерживаются URI DBFS и ADLS. Например, { "whl": "dbfs:/my/whl" } или
{ "whl": "abfss://<container-path>/whl" }. Если используется ADLS, убедитесь, что кластер имеет доступ на чтение в библиотеке. Кроме того, wheel имя файла должно использовать правильное соглашение. Если необходимо установить zippped wheels , то суффикс имени файла должен быть .wheelhouse.zip.

Если используется pypi, указывается спецификация устанавливаемой библиотеки PyPI. Указание поля repo является необязательным. Если оно не указано, используется индекс pip по умолчанию. Например:
{ "package": "simplejson", "repo": "https://my-repo.com" }

Если используется maven, указывается спецификация устанавливаемой библиотеки Maven. Например:
{ "coordinates": "org.jsoup:jsoup:1.7.2" }

Если используется cran, указывается спецификация устанавливаемой библиотеки CRAN.

MavenLibrary

Имя поля Тип Описание
coordinates STRING Координаты Maven в стиле Gradle. Например: org.jsoup:jsoup:1.7.2. Это обязательное поле.
repo STRING Репозиторий Maven, из которого будет устанавливаться пакет Maven. Если этот параметр опущен, поиск выполняется как в центральном репозитории Maven, так и в пакетах Spark.
exclusions Массив объектов STRING. Список зависимостей для исключения. Например: ["slf4j:slf4j", "*:hadoop-client"].

Исключения зависимостей Maven: https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html.

NewCluster

Имя поля Тип Описание
num_workers ИЛИ autoscale INT32 ИЛИ AutoScale Если указано num_workers, это количество рабочих узлов, которые должен иметь этот кластер. В кластере присутствует один драйвер Spark и исполнители num_workers для общего числа узлов: num_workers + 1 Spark.

Примечание. при чтении свойств кластера это поле отражает необходимое количество рабочих ролей, но не текущее количество. Например, если размер кластера изменяется с 5 до 10 рабочих ролей, это поле будет немедленно обновлено, чтобы отразить целевой размер 10 рабочих ролей, а рабочие роли, перечисленные в spark_info, постепенно увеличиваются с 5 до 10 по мере подготовки новых узлов.

Если используется автомасштабирование, потребуются параметры для автоматического масштабирования кластеров в зависимости от нагрузки.
spark_version STRING Версия Spark кластера. Список доступных версий Spark можно получить с помощью вызова GET 2.0/clusters/spark-versions . Это обязательное поле.
spark_conf SparkConfPair Объект с набором необязательных, определяемых пользователем пар "ключ-значение" в конфигурации Spark. Кроме того, можно передать строку дополнительных параметров JVM драйверу и исполнителям через
spark.driver.extraJavaOptions и spark.executor.extraJavaOptions соответственно.

Пример конфигураций Spark:
{"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} или
{"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"}
node_type_id STRING Используя отдельное значение, это поле кодирует доступные ресурсы для каждого узла Spark в этом кластере. Например, узлы Spark можно подготовить и оптимизировать для памяти или вычислительных интенсивных рабочих нагрузок. Список доступных типов узлов можно получить с помощью вызова GET 2.0/clusters/list-node-types . Это поле, поле или политика кластера, instance_pool_id указывающая идентификатор типа узла или идентификатор пула экземпляров, является обязательным.
driver_node_type_id STRING Тип узла драйвера Spark. Это поле является необязательным. Если значение не задано, тип узла драйвера устанавливается в то же значение, что и параметр node_type_id, определенный выше.
custom_tags ClusterTag Объект, содержащий набор тегов для кластерных ресурсов. В дополнение к default_tags Databricks помечает этими тегами все кластерные ресурсы (например, виртуальные машины).

Примечание.

*Теги не поддерживаются для устаревших типов узлов, таких как оптимизированные для вычислений и для памяти
*Databricks поддерживает не более 45 пользовательских тегов
cluster_log_conf ClusterLogConf Конфигурация доставки журналов Spark в долгосрочное место хранения. Для одного кластера можно указать только одно назначение. Если для conf задано значение, журналы будут доставляться в место назначения каждые 5 mins. Место назначения журналов драйверов — <destination>/<cluster-id>/driver, а место назначения журналов исполнителя — <destination>/<cluster-id>/executor.
init_scripts Массив InitScriptInfo Конфигурация для хранения скриптов инициализации. Можно указать любое количество скриптов. Скрипты выполняются последовательно в указанном порядке. Если для cluster_log_conf задано значение, журналы скриптов инициализации будут отправляться в
<destination>/<cluster-id>/init_scripts.
spark_env_vars SparkEnvPair Объект, содержащий набор необязательных пар "ключ-значение", определяемых пользователем переменных среды. Пара "ключ-значение" в виде (X, Y) экспортируется как есть (т. е.
export X='Y') при запуске драйвера и рабочих ролей.

Чтобы указать дополнительный набор SPARK_DAEMON_JAVA_OPTS, рекомендуется добавить их в $SPARK_DAEMON_JAVA_OPTS, как показано в следующем примере. Кроме того, это гарантирует, что будут включены все управляемые переменные среды Databricks, используемые по умолчанию.

Примеры переменных среды Spark:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"} или
{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
enable_elastic_disk BOOL Автоматическое масштабирование локального хранилища: если включено, этот кластер динамически получает дополнительное место на диске, когда на его работающих рабочих ролях Spark заканчивается свободное место. Дополнительные сведения см. в статье "Включение автоматического масштабирования локального хранилища ".
driver_instance_pool_id STRING Идентификатор (необязательно) пула экземпляров, используемый для узла драйвера. Необходимо также указать instance_pool_id. Дополнительные сведения см. в API пулов экземпляров.
instance_pool_id STRING Необязательный идентификатор пула экземпляров, используемый для узлов кластеров. При наличии driver_instance_pool_id,
instance_pool_id используется только для рабочих узлов. В противном случае он используется как для узла драйвера, так и для рабочих узлов. Дополнительные сведения см. в API пулов экземпляров.

NotebookOutput

Имя поля Тип Описание
result STRING Значение, передаваемое в функцию dbutils.notebook.exit(). Azure Databricks ограничивает этот интерфейс API, чтобы он возвращал первые 1 МБ от значения. Если результат большего размера, задание может сохранять результаты в службе облачного хранения. Это поле будет отсутствовать, если функция dbutils.notebook.exit() никогда не вызывалась.
truncated BOOLEAN Указывает, был ли результат усечен.

NotebookTask

Размер всех выходных данных ячеек зависит от размера 8 МБ. Если выходные данные ячейки имеют больший размер, остальная часть процесса выполнения будет отменена, а процесс будет отмечен как неудачный. В этом случае может также отсутствовать некоторая часть выходных данных содержимого других ячеек.

Если требуется помощь в поиске ячейки, которая выходит за границы этого предела, запустите записную книжку для кластера всех целей и используйте этот метод автосохранения записной книжки.

Имя поля Тип Описание
notebook_path STRING Абсолютный путь записной книжки, которая будет запущена в рабочей области Azure Databricks. Этот путь должен начинаться с косой черты. Это обязательное поле.
revision_timestamp LONG Метка времени редакции записной книжки.
base_parameters Сопоставление ParamPair Базовые параметры, которые будут использоваться для каждого процесса выполнения этого задания. Если процесс инициируется вызовом метода run-now с указанными параметрами, сопоставления этих двух параметров будут объединены. Если один и тот же ключ указан в base_parameters и в run-now, будет использоваться значение из run-now.

Используйте контекст передачи о выполнении задания , чтобы задать параметры, содержащие сведения о выполнении задания.

Если записная книжка принимает параметр, который не был указан в base_parameters задания или в переопределенных параметрах run-now, будет использоваться значение по умолчанию из записной книжки.

Получите эти параметры в записной книжке с помощью метода dbutils.widgets.get.

ParamPair

Параметры на основе имени для заданий, выполняющих задачи записной книжки.

Внимание

Поля в этой структуре данных принимают только латинские символы (кодировка ASCII). При использовании не-ASCII символов, будет возвращена ошибка. Примерами недопустимых не-ASCII символов , являются китайские и японские иероглифы, а также эмодзи.

Тип Описание
STRING Имя параметра. Передайте значение в метод dbutils.widgets.get для получения значения.
STRING Значение параметра.

PipelineTask

Имя поля Тип Описание
pipeline_id STRING Полное имя задачи конвейера разностных динамических таблиц для выполнения.

PythonPyPiLibrary

Имя поля Тип Описание
package STRING Имя устанавливаемого пакета PyPi. Также поддерживается необязательная точная спецификация версии. Примерами являются события simplejson и simplejson==3.8.0. Это обязательное поле.
repo STRING Репозиторий, в котором находится пакет. Если он не указан, используется индекс PIP по умолчанию.

RCranLibrary

Имя поля Тип Описание
package STRING Имя устанавливаемого пакета CRAN. Это обязательное поле.
repo STRING Репозиторий, в котором находится пакет. Если он не указан, используется индекс CRAN по умолчанию.

Процесс выполнения

Все сведения о процессе выполнения, кроме его выходных данных. Выходные данные можно получить отдельно с помощью метода getRunOutput.

Имя поля Тип Описание
job_id INT64 Канонический идентификатор задания, содержащего этот процесс выполнения.
run_id INT64 Канонический идентификатор процесса выполнения. Этот идентификатор уникален для всех процессов выполнения всех заданий.
creator_user_name STRING Имя пользователя-создателя. Это поле не будет включено в ответ, если пользователь был уже удален.
number_in_job INT64 Порядковый номер этого процесса среди всех процессов выполнений задания. Это значение начинается с 1.
original_attempt_run_id INT64 Если этот процесс выполнения является повторением предыдущей попытки запуска процесса, это поле содержит run_id исходного процесса, в противном случае он совпадает с run_id.
state RunState Результат и состояния жизненного цикла процесса выполнения.
schedule CronSchedule Расписание службы cron, запускающей этот процесс выполнения, если он был запущен планировщиком периодических процессов.
task JobTask Задача, выполняемая процессом выполнения, при наличии.
cluster_spec ClusterSpec Моментальный снимок спецификации кластера задания при создании этого процесса выполнения.
cluster_instance ClusterInstance Кластер, используемый для этого процесса выполнения. Если процесс выполнения указан для использования нового кластера, это поле будет задано после того, как служба заданий запросит кластер для выполнения.
overriding_parameters RunParameters Параметры для этого процесса выполнения.
start_time INT64 Время создания этого процесса выполнения, выраженное в миллисекундах с начала эпохи (с начала эпохи UNIX 01.01.1970 UTC). Это может быть не тем временем, когда задача задания начинает выполнение, например, если задание планируется запускать в новом кластере, это время вызова создания кластера.
setup_duration INT64 Время, затраченное на настройку кластера, в миллисекундах. Для процессов выполнения, выполняемых в новых кластерах это время создания кластера, для процессов выполнения в существующих кластерах это время должно быть очень коротким.
execution_duration INT64 Время в миллисекундах, затраченное на выполнение команд в JAR-файле или записной книжке, пока они не были завершены, завершились сбоем, истекло время ожидания, было отменено или произошла непредвиденная ошибка.
cleanup_duration INT64 Время в миллисекундах, затраченное на завершение работы кластера и очистку связанных артефактов. Общая длительность процесса выполнения — это сумма значений для параметров setup_duration, execution_duration и cleanup_duration.
end_time INT64 Время завершения этого процесса выполнения, выраженное в миллисекундах с начала эпохи (с начала эпохи UNIX 01.01.1970 UTC). Это поле будет иметь значение 0, если задание все еще выполняется.
trigger TriggerType Тип триггера, запустившего этот процесс выполнения.
run_name STRING Имя выполнения (необязательно). Значение по умолчанию — Untitled. Максимально допустимая длина — 4096 байт в кодировке UTF-8.
run_page_url STRING URL-адрес страницы сведений о процессе выполнения.
run_type STRING Тип процесса выполнения.

* JOB_RUN - Нормальный процесс выполнения задания. Процесс выполнения, созданный нажатием кнопки Запустить сейчас.
* WORKFLOW_RUN - Процесс выполнения рабочего процесса. Процесс выполнения, созданный с помощью метода dbutils.notebook.run.
* SUBMIT_RUN - Отправить процесс выполнения. Процесс выполнения, созданный нажатием кнопки Запустить сейчас.
attempt_number INT32 Порядковый номер попытки запуска процесса выполнения запущенного задания. Начальная попытка запуска процесса выполнения имеет attempt_number = 0. Если начальная попытка запуска процесса выполнения завершается неудачно, и в задании установлена политика повтора (max_retries> 0), последующие процессы выполнения создаются с параметром original_attempt_run_id идентификатора исходной попытки и приращением attempt_number. Повторные попытки процессов выполнения делаются только до тех пор, пока они не завершатся удачно, а максимальное значение attempt_number совпадает со значением max_retries для задания.

RunJobTask

Имя поля Тип Описание
job_id INT32 Уникальный идентификатор выполняемого задания. Это обязательное поле.

RunLifeCycleState

Состояние жизненного цикла процесса выполнения. Допустимые переходы состояний:

  • PENDING- - ->RUNNING>TERMINATING>TERMINATED
  • PENDING ->SKIPPED
  • PENDING ->INTERNAL_ERROR
  • RUNNING ->INTERNAL_ERROR
  • TERMINATING ->INTERNAL_ERROR
State Description
PENDING Процесс выполнения запущен. Если активный процесс выполнения одного и того же задания уже не существует, выполняется подготовка кластера и контекста выполнения. Если активный процесс выполнения одного и того же задания уже существует, процесс выполнения будет немедленно переходить в состояние SKIPPED без подготовки ресурсов.
RUNNING Выполняется задача этого процесса выполнения.
TERMINATING Задача этого процесса выполнения завершена, выполняется очистка кластера и контекста выполнения.
TERMINATED Задача этого процесса выполнения завершена, кластер и контекст выполнения были очищены. Это состояние — завершение.
SKIPPED Этот процесс выполнения был прерван, так как предыдущий процесс этого же задания уже был активен. Это состояние — завершение.
INTERNAL_ERROR Исключительное состояние, указывающее на сбой в службе заданий, например на сбой сети в течение длительного периода. Если процесс выполнения в новом кластере завершается в состоянии INTERNAL_ERROR, служба заданий будет в кратчайший срок завершать работу кластера. Это состояние — завершение.

RunParameters

Параметры для этого процесса выполнения. В запросе run-now должен быть указан только один параметр из следующих: jar_params или notebook_params — в зависимости от типа задачи задания.python_params Задания, выполняемые с помощью задачи Spark JAR или задачи Python, получают список параметров на основе позиций, а задания с записной книжкой принимают сопоставление в виде «ключ-значение».

Имя поля Тип Описание
jar_params Массив объектов STRING. Список параметров для заданий с задачами JAR, например "jar_params": ["john doe", "35"]. Параметры будут использоваться для вызова функции main класса main, указанного в задаче JAR-файла Spark. Если значение не указано run-now, по умолчанию будет указываться пустой список. jar_params запрещено указывать вместе с notebook_params. Представление JSON этого поля (т. е. {"jar_params":["john doe","35"]}) не может превышать 10 000 байт.

Используйте контекст передачи о выполнении задания , чтобы задать параметры, содержащие сведения о выполнении задания.
notebook_params Сопоставление ParamPair Сопоставление «ключ-значение» для заданий с задачей записной книжки, например
"notebook_params": {"name": "john doe", "age": "35"}. Это сопоставление передается в записную книжку и доступно из функции dbutils.widgets.get.

Если значение не указано run-now, то в запущенном процессе выполнения используются базовые параметры задания.

Параметр notebook_params запрещено указывать вместе с параметром jar_params.

Используйте контекст передачи о выполнении задания , чтобы задать параметры, содержащие сведения о выполнении задания.

Представление JSON этого поля (т. е.
{"notebook_params":{"name":"john doe","age":"35"}}) не может превышать 10 000 байт.
python_params Массив объектов STRING. Список параметров для заданий с задачами Python, например "python_params": ["john doe", "35"]. Параметры будут переданы в файл Python в виде параметров командной строки. Если значение run-now не указано, то будут перезаписаны параметры, указанные в параметре задания. Представление JSON этого поля (т. е. {"python_params":["john doe","35"]}) не может превышать 10 000 байт.

Используйте контекст передачи о выполнении задания , чтобы задать параметры, содержащие сведения о выполнении задания.

>[!Важно!] >> В этих параметрах принимаются только латинские символы (кодировка ASCII). > При использовании не-ASCII символов, будет возвращена ошибка. Примерами недопустимых не-ASCII символов >, являются китайские и японские иероглифы, а также эмодзи.
spark_submit_params Массив объектов STRING. Список параметров для заданий с задачей spark-submit, например
"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"]. Параметры передаются в сценарий spark-submit в параметрах командной строки. Если значение run-now не указано, то будут перезаписаны параметры, указанные в параметре задания. Представление JSON этого поля (т. е. {"python_params":["john doe","35"]}) не может превышать 10 000 байт.

Используйте контекст передачи о выполнении задания , чтобы задать параметры, содержащие сведения о выполнении задания.

>[!Важно!] >> В этих параметрах принимаются только латинские символы (кодировка ASCII). > При использовании не-ASCII символов, будет возвращена ошибка. Примерами недопустимых не-ASCII символов >, являются китайские и японские иероглифы, а также эмодзи.

RunResultState

Состояние результата процесса выполнения.

  • Если life_cycle_state = TERMINATED: если процесс выполнения содержал задачу, результат будет гарантированно доступен, и это указывает на результат выполнения задачи.
  • Если life_cycle_state = PENDING, RUNNING или SKIPPED, состояние результата недоступно.
  • Если life_cycle_state = TERMINATING или lifecyclestate = INTERNAL_ERROR: состояние результата доступно, если процесс выполнения содержит задачу и управляется для запуска.

После того, как состояние результата становится доступным, оно никогда не изменяется.

State Description
SUCCESS Задача успешно завершена.
FAILED Задача завершена с ошибкой.
TIMEDOUT Процесс выполнения был остановлен по истечению времени ожидания.
CANCELED Процесс выполнения был отменен по запросу пользователя.

RunState

Имя поля Тип Описание
life_cycle_state RunLifeCycleState Описание текущего расположения процесса выполнения в его жизненном цикле. Это поле всегда доступно в ответе.
result_state RunResultState Состояние результата процесса выполнения. Если он недоступен, ответ не будет включать это поле. Дополнительные сведения о доступности состояния result_state см. RunResultState.
user_cancelled_or_timedout BOOLEAN Указывает, был ли процесс выполнения отменен вручную пользователем или планировщиком, так как время выполнения истекло.
state_message STRING Описательное сообщение для текущего состояния. Это поле не структурировано, и его точный формат может измениться.

SparkConfPair

Пары "ключ-значение" конфигурации Spark.

Тип Описание
STRING Имя свойства конфигурации.
STRING Значение свойства конфигурации.

SparkEnvPair

Пары "ключ-значение" переменной среды Spark.

Внимание

При указании переменных среды в кластере задания поля в этой структуре данных принимают только латинские символы (набор символов ASCII). При использовании не-ASCII символов, будет возвращена ошибка. Примерами недопустимых не-ASCII символов , являются китайские и японские иероглифы, а также эмодзи.

Тип Описание
STRING Имя переменной среды.
STRING Значение переменной среды.

SparkJarTask

Имя поля Тип Описание
jar_uri STRING Не рекомендуется с апреля 2016 г. Вместо этого предоставьте jar с помощью поля libraries. Пример см. в пункте Создать.
main_class_name STRING Полное имя класса, содержащего метод main, который будет выполнен. Этот класс должен содержаться в файле JAR, предоставляемом в виде библиотеки.

Код должен использовать SparkContext.getOrCreate для получения контекста Spark; в противном случае процессы выполнения задания завершится ошибкой.
parameters Массив объектов STRING. Параметры, которые передаются метод main.

Используйте контекст передачи о выполнении задания , чтобы задать параметры, содержащие сведения о выполнении задания.

SparkPythonTask

Имя поля Тип Описание
python_file STRING URI файла Python, который будет выполнен. Поддерживаются только пути DBFS. Это обязательное поле.
parameters Массив объектов STRING. Параметры командной строки, передаваемые в файл Python.

Используйте контекст передачи о выполнении задания , чтобы задать параметры, содержащие сведения о выполнении задания.

SparkSubmitTask

Внимание

  • Вы можете вызывать задачи spark-submit только в новых кластерах.
  • В спецификации new_cluster, libraries и spark_conf не поддерживаются. Используйте --jars и --py-files для добавления библиотек Java и Python, а также --conf для настройки конфигурации Spark.
  • master, deploy-mode и executor-cores автоматически настраиваются в Azure Databricks; их невозможно указать в параметрах.
  • По умолчанию для задания spark-submit используется вся доступная память (кроме зарезервированной памяти для служб Azure Databricks). Можно задать для --driver-memory и --executor-memory меньшее значение, чтобы оставить некоторое место для использования вне кучи.
  • Аргументы --jars, --py-files, --files поддерживают пути DBFS.

Например, если допустить, что JAR-файл передается в DBFS, можно запустить SparkPi, задав следующие параметры.

{
  "parameters": [
    "--class",
    "org.apache.spark.examples.SparkPi",
    "dbfs:/path/to/examples.jar",
    "10"
  ]
}
Имя поля Тип Описание
parameters Массив объектов STRING. Параметры командной строки, передаваемые в скрипт spark-submit.

Используйте контекст передачи о выполнении задания , чтобы задать параметры, содержащие сведения о выполнении задания.

TriggerType

Это типы триггеров, которые могут запускать процесс выполнения.

Тип Описание
PERIODIC Расписания, которые периодически инициируют процессы выполнения, например планировщик cron.
ONE_TIME Триггеры инициируют однократный запуск процесса выполнения. Это происходит при запуске одного процесса выполнения по запросу с помощью пользовательского интерфейса или API.
RETRY Указывает на процесс выполнения, который запускается в качестве повторной попытки ранее неудавшегося процесса выполнения. Это происходит, при запросе на повторный запуск задания в случае ошибки.

ViewItem

Экспортированное содержимое имеет формат HTML. Например, если представлением для экспорта является панели мониторинга, то для каждой такой панели возвращается одна строка HTML.

Имя поля Тип Описание
content STRING Содержимое представления.
name STRING Имя элемента представления. Для представления кода это имя записной книжки. Для представления панели мониторинга это имя панели мониторинга.
type ViewType Тип элемента представления.

ViewType

Тип Описание
NOTEBOOK Элемент представления записной книжки.
DASHBOARD Элемент представления панели мониторинга.

ViewsToExport

Представление для экспорта: либо код, все панели мониторинга, либо все.

Тип Описание
CODE Представление кода записной книжки.
DASHBOARDS Все представления панели мониторинга записной книжки.
ALL Все представления записной книжки.

Веб-перехватчик

Имя поля Тип Описание
id STRING Идентификатор, ссылающийся на назначение системного уведомления. Это обязательное поле.

WebhookNotifications

Имя поля Тип Описание
on_start Массив веб-перехватчика Необязательный список системных назначений, которые будут получать уведомления при запуске. Если значение не указано при создании, сбросе или обновлении задания, список пуст, и уведомления не отправляются. Для свойства можно указать не более 3 назначений on_start .
on_success Массив веб-перехватчика Необязательный список назначений системы, который будет получать уведомления при успешном завершении выполнения. Запуск считается успешно завершенным, если он заканчивается с помощью TERMINATEDlife_cycle_state a и a SUCCESSFULresult_state. Если значение не указано при создании, сбросе или обновлении задания, список пуст, и уведомления не отправляются. Для свойства можно указать не более 3 назначений on_success .
on_failure Массив веб-перехватчика Необязательный список назначений системы, который будет получать уведомления при неудачном завершении выполнения. Процесс выполнения считается завершенным неудачно, если он заканчивается со значением INTERNAL_ERROR
life_cycle_stateSKIPPEDFAILEDили , или TIMED_OUTresult_state. Если это не указано при создании задания, сбросе или обновлении списка пусто, а уведомления не отправляются. Для свойства можно указать не более 3 назначений on_failure .
on_duration_warning_threshold_exceeded Массив веб-перехватчика Необязательный список назначений системы, который будет получать уведомления, когда длительность выполнения превышает пороговое значение, указанное для RUN_DURATION_SECONDS метрики в health поле. Для свойства можно указать не более 3 назначений on_duration_warning_threshold_exceeded .

Рабочая область служба хранилища Info

Сведения о хранилище рабочей области.

Имя поля Тип Описание
destination STRING Место назначения файла. Пример: /Users/someone@domain.com/init_script.sh