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


Jobs API 2.0

Внимание

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

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

Дополнительные сведения об обновленных функциях в более поздних версиях API заданий см. в статье Обновление с API заданий 2.0 до версии 2.1 и Обновление с API заданий 2.1 до версии 2.2.

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

Ни в коем случае не прописывайте секреты в коде и не храните их в виде обычного текста. Используйте 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, указывает, что это задание должно запускать конвейер Delta Live Tables.

Если run_job_task, указывает, что это задание должно выполнять другое задание.
name STRING Имя задания (необязательно). Значение по умолчанию — Untitled.
libraries Массив библиотеки Необязательный list библиотек, установленных в кластере, который выполнит задание. Значение по умолчанию — пустой list.
email_notifications JobEmailNotifications Необязательное количество set адресов электронной почты, которые уведомляются, когда запуски этого задания начинаются и завершаются, а также когда это задание удаляется. По умолчанию уведомления по электронной почте не рассылаются.
webhook_notifications WebhookNotifications Необязательный набор set системных адресатов для уведомления о начале, завершении или сбое выполнения этого задания.
notification_settings JobNotificationSettings Необязательные параметры уведомлений, используемые при отправке уведомлений в каждое из заданий 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 Максимально допустимое количество (необязательно) параллельных процессов выполнения задания.

Set это значение, если вы хотите одновременно выполнять несколько запусков одного задания. Это полезно, например, если вы запускаете задание по частому расписанию и хотите разрешить последовательным запускам перекрываться друг с другом, или если вы хотите запускать несколько запусков, которые отличаются по входным данным parameters.

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

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

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

Имя поля Тип Описание
job_id INT64 Каноническое identifier для недавно созданной задачи.

List

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

List все задания.

Пример

Запросить

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 Массив задания list заданий.

Удаление

Конечная точка Метод 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 Каноническое значение identifier для удаления задания. Это обязательное поле.

Get

Конечная точка Метод 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 Каноническое identifier задания, о котором нужно получить информацию. Это обязательное поле.

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

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

Reset

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

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

Пример

В этом примере запрос делает задание 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 Каноническое identifier задания для reset. Это обязательное поле.
new_settings JobSettings Новые параметры задания. Эти параметры полностью заменяют прежние параметры.

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

Update

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

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

Пример

В этом примере запрос удаляет библиотеки и добавляет параметры уведомлений по электронной почте в задание 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 Каноническое identifier задания для update. Это обязательное поле.
new_settings JobSettings Новые параметры для задания.

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

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

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

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

Внимание

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

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

Совет

Если вы вызываете create вместе с Run now, можно использовать конечную точку отправки , что позволяет отправлять рабочую нагрузку напрямую без для создания задания.

Пример

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. list parameters задач с заданиями JAR, например "jar_params": ["john doe", "35"]. parameters будет использоваться для вызова главной функции основного класса, указанного в задаче Spark JAR. Если значение не указано при run-now, по умолчанию используется пустая list. jar_params запрещено указывать вместе с notebook_params. Представление JSON этого поля (т. е. {"jar_params":["john doe","35"]}) не может превышать 10 000 байт.
notebook_params Сопоставление ParamPair Сопоставление ключей с values к заданиям с задачей записной книжки.
"notebook_params": {"name": "john doe", "age": "35"}. Карта передается в записную книжку и доступна через функцию dbutils.widgets.get.

Если не указано при run-now, запуск использует основную parametersзадания.

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

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

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

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

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

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

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

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

Внимание

  • Рабочая область ограничена 1000 одновременных запусков задач. Ответ 429 Too Many Requests возвращается при запросе на выполнение, которое не может быть запущено немедленно.
  • Число заданий, создаваемых рабочей областью в течение часа, ограничено 10000 (включая "Отправка процессов выполнений"). Это limit также влияет на задания, созданные с помощью REST API и рабочих процессов в записной книжке.
  • Рабочая область может содержать до 12000 сохраненных заданий.
  • Задание может содержать до 100 задач.
Конечная точка Метод 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, указывает, что это задание должно запускать конвейер Delta Live Tables.

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

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

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

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

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

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

выполняется list

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

List запускается по убыванию времени начала.

Примечание.

Процессы выполнения автоматически удаляются через 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файле RunLifecycleState или RUNNINGTERMINATING. Это поле не может быть true, если completed_only имеет значение true.

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

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

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

выполняется get

Конечная точка Метод 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 Каноническое identifier выполнения, для которого извлекаются метаданные. Это обязательное поле.

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

Имя поля Тип Описание
job_id INT64 Каноническое identifier задания, содержащего этот запуск.
run_id INT64 Каноническое identifier запуска. Этот идентификатор уникален для всех процессов выполнения всех заданий.
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 Кластер, используемый для этого процесса выполнения. Если запуск указан для использования нового кластера, это поле будет set после того, как служба заданий запросила кластер для запуска.
overriding_parameters RunParameters parameters, используемый для этого запуска.
start_time INT64 Время создания этого процесса выполнения, выраженное в миллисекундах с начала эпохи (с начала эпохи UNIX 01.01.1970 UTC). Это может быть не тем временем, когда задача задания начинает выполнение, например, если задание планируется запускать в новом кластере, это время вызова создания кластера.
end_time INT64 Время завершения этого процесса выполнения, выраженное в миллисекундах с начала эпохи (с начала эпохи UNIX 01.01.1970 UTC). Это поле будет иметь значение от set до 0, если задание все еще выполняется.
setup_duration INT64 Время в миллисекундах, необходимое для загрузки кластера set. Для процессов выполнения, выполняемых в новых кластерах это время создания кластера, для процессов выполнения в существующих кластерах это время должно быть очень коротким. Общая длительность выполнения — это сумма setup_duration,
execution_duration, и cleanup_duration. Поле setup_duration устанавливается в значение set, равное 0, для многозадачных запусков заданий. Общая длительность выполнения многофакторного задания — это значение
run_duration поле.
execution_duration INT64 Время в миллисекундах, затраченное на выполнение команд в JAR-файле или записной книжке, пока они не были завершены, завершились сбоем, истекло время ожидания, было отменено или произошла непредвиденная ошибка. Общая длительность выполнения — это сумма setup_duration, execution_durationа также
cleanup_duration. Поле execution_duration устанавливается в значение set, равное 0, для многозадачных запусков заданий. Общая длительность выполнения многофакторного задания — это значение run_duration поля.
cleanup_duration INT64 Время в миллисекундах, затраченное на завершение работы кластера и очистку связанных артефактов. Общая длительность выполнения — это сумма setup_duration, execution_durationа также cleanup_duration. Поле cleanup_duration устанавливается в значение set, равное 0, для многозадачных запусков заданий. Общая длительность выполнения многофакторного задания — это значение run_duration поля.
run_duration INT64 Время в миллисекундах потребовалось выполнение задания и все его ремонты, чтобы завершить. Это поле set используется только для выполнения многозадачных заданий и не применяется для выполнения отдельных задач. Длительность выполнения задачи — это сумма
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 Каноническое определение identifier для запуска. Это обязательное поле.
views_to_export ViewsToExport Какой views экспортировать (CODE, DASHBOARDS или ВСЕ). По умолчанию — CODE (КОД).

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

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

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

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

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

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

Пример

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

Замена:

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

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

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

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

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

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

Эта конечная точка проверяет, является ли параметр job_id допустимым и для недопустимых parameters возвращает код состояния 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 Каноническое identifier задания для отмены всех запусков. Это обязательное поле.

выходные данные выполняется get

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

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

Эта конечная точка проверяет, является ли параметр run_id допустимым и для недопустимых parameters возвращает код состояния 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 Каноническое определение identifier для запуска. Для задания с несколькими задачами это run_id выполнения задачи. См. результаты работы get. Это обязательное поле.

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

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

При ошибке, появляется сообщение об ошибке, указывающее на причину недоступности выходных данных. Сообщение не структурировано, и его точный формат может измениться.
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 Каноническое identifier выполнения, для которого извлекаются метаданные.

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

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

ABFSStorageInfo

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

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

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

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

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

AzureAttributes

Атрибуты set во время создания кластера, связанного с Azure.

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

AzureAvailability

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

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

ClusterInstance

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

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

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

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

ClusterLogConf

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

Имя поля Тип Описание
dbfs Расположение 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 Массив библиотеки Необязательный list библиотек, установленных в кластере, который выполнит задание. Значение по умолчанию — пустой list.

ClusterTag

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

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

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

CronSchedule

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

DbfsStorageInfo

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

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

FileStorageInfo

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

Примечание.

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

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

InitScriptInfo

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

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

Примечание.

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

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

ИЛИ abfss
WorkspaceStorageInfo

DbfsStorageInfo (не рекомендуется)

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

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

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

Задание

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

JobEmailNotifications

Внимание

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

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

JobNotificationSettings

Имя поля Тип Описание
no_alert_for_skipped_runs BOOL Если значение true, не отправляйте уведомления в recipients, указанные в on_failure, если выполнение пропущено.
no_alert_for_canceled_runs BOOL Если истина, не отправляйте уведомления в recipients, указанные в on_failure, если выполнение будет отменено.
alert_on_last_attempt BOOL Если истина, не отправляйте уведомления на recipients, указанные в on_start для повторных попыток, и не отправляйте уведомления на recipients, указанные в 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, указывает, что это задание должно запускать конвейер Delta Live Tables.

Если run_job_task, указывает, что это задание должно выполнять другое задание.
name STRING Имя задания (необязательно). Значение по умолчанию — Untitled.
libraries Массив библиотеки Необязательный list библиотек, установленных в кластере, который выполнит задание. Значение по умолчанию — пустой list.
email_notifications JobEmailNotifications Необязательный set адресов электронной почты, которые будут получать уведомления при начале или завершении этого задания, а также при его удалении. По умолчанию уведомления по электронной почте не рассылаются.
webhook_notifications WebhookNotifications Необязательный набор set системных адресатов для уведомления о начале, завершении или сбое выполнения этого задания.
notification_settings JobNotificationSettings Необязательные параметры уведомлений, используемые при отправке уведомлений в каждое из заданий 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 Максимально допустимое количество (необязательно) параллельных процессов выполнения задания.

Set это значение, если вы хотите одновременно выполнять несколько запусков одного задания. Это полезно, например, если вы запускаете задание по частому расписанию и хотите разрешить последовательным запускам перекрываться друг с другом, или если вы хотите запускать несколько запусков, которые отличаются по входным данным parameters.

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

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

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, указывает, что это задание должно запускать конвейер Delta Live Tables.

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

JobsHealthRule

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

JobsHealthRules

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

Библиотека

Имя поля Тип Описание
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. Группа зависимостей List, которую следует исключить. Например: ["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 по мере подготовки новых узлов.

Если автоматическое масштабирование, parameters необходимы для автоматического масштабирования кластеров для их увеличения и уменьшения на основе нагрузки.
spark_version STRING Версия Spark кластера. list доступных версий Spark можно получить с помощью вызова GET 2.0/clusters/spark-versions. Это обязательное поле.
spark_conf SparkConfPair Объект, содержащий set необязательных, заданных пользователем пар ключ-значение конфигурации 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 можно подготовить и оптимизировать для рабочих нагрузок, интенсивных по памяти или вычислениям. Список доступных типов узлов list можно получить с помощью вызова GET 2.0/clusters/list-node-types. Это поле, поле или политика кластера, instance_pool_id указывающая идентификатор типа узла или идентификатор пула экземпляров, является обязательным.
driver_node_type_id STRING Тип узла драйвера Spark. Это поле является необязательным; если не задано, тип узла драйвера устанавливается в set, как и node_type_id, определенный выше.
custom_tags ClusterTag Объект, содержащий set тегов для ресурсов кластера. В дополнение к 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 Объект, содержащий set необязательных пар ключ-значение переменных среды, заданных пользователем. Пара "ключ-значение" в виде (X, Y) экспортируется как есть (т. е.
export X='Y') при запуске драйвера и рабочих ролей.

Чтобы указать дополнительные set из 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 МБ. Если выходные данные ячейки имеют больший размер, остальная часть процесса выполнения будет отменена, а процесс будет отмечен как неудачный. В этом случае может также отсутствовать некоторая часть выходных данных содержимого других ячеек.

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

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

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

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

Получите эти parameters в блокноте с помощью dbutils.widgets.get.

ParamPair

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

Внимание

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

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

PipelineTask

Имя поля Тип Описание
pipeline_id STRING Полное имя задачи конвейера Delta Live Tables для выполнения.

PythonPyPiLibrary

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

RCranLibrary

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

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

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

Имя поля Тип Описание
job_id INT64 Каноническое identifier задания, содержащего этот запуск.
run_id INT64 Каноническое identifier запуска. Этот идентификатор уникален для всех процессов выполнения всех заданий.
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 Кластер, используемый для этого процесса выполнения. Если запуск указан для использования нового кластера, это поле будет set после того, как служба заданий запросила кластер для запуска.
overriding_parameters RunParameters parameters, используемый для этого запуска.
start_time INT64 Время создания этого процесса выполнения, выраженное в миллисекундах с начала эпохи (с начала эпохи UNIX 01.01.1970 UTC). Это может быть не тем временем, когда задача задания начинает выполнение, например, если задание планируется запускать в новом кластере, это время вызова создания кластера.
setup_duration INT64 Время, затраченное на выполнение set в кластере, в миллисекундах. Для процессов выполнения, выполняемых в новых кластерах это время создания кластера, для процессов выполнения в существующих кластерах это время должно быть очень коротким.
execution_duration INT64 Время в миллисекундах, затраченное на выполнение команд в JAR-файле или записной книжке, пока они не были завершены, завершились сбоем, истекло время ожидания, было отменено или произошла непредвиденная ошибка.
cleanup_duration INT64 Время в миллисекундах, затраченное на завершение работы кластера и очистку связанных артефактов. Общая длительность процесса выполнения — это сумма значений для параметров setup_duration, execution_duration и cleanup_duration.
end_time INT64 Время завершения этого процесса выполнения, выраженное в миллисекундах с начала эпохи (с начала эпохи UNIX 01.01.1970 UTC). Это поле будет иметь значение от set до 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 Уникальный идентификатор identifier задания для выполнения. Это обязательное поле.

RunLifeCycleState

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

  • QUEUED ->PENDING
  • PENDING- - ->RUNNING>TERMINATING>TERMINATED
  • PENDING ->SKIPPED
  • PENDING ->INTERNAL_ERROR
  • RUNNING ->INTERNAL_ERROR
  • TERMINATING ->INTERNAL_ERROR
State Описание
QUEUED Запуск активируется, но выполняется в очередь, так как он достиг одного из следующих ограничений:

— максимальное число параллельных активных запусков в рабочей области.
— Максимальная параллельная Run Job задача выполняется в рабочей области.
— максимальное число одновременных запусков задания.

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

RunParameters

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

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

Используйте Что такое ссылка на динамическое значение?setparameters содержат сведения о выполнении задания.
notebook_params Сопоставление ParamPair Сопоставление ключей с values к заданиям с задачей записной книжки.
"notebook_params": {"name": "john doe", "age": "35"}. Карта передается в записную книжку и доступна через функцию dbutils.widgets.get.

Если не указано при run-now, запуск использует основную parametersзадания.

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

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

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

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

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

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

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

RunResultState

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

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

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

State Описание
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 set). При использовании не-ASCII символов, будет возвращена ошибка. Примерами недопустимых не-ASCII символов , являются китайские и японские иероглифы, а также эмодзи.

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

SparkJarTask

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

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

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

SparkPythonTask

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

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

SparkSubmitTask

Внимание

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

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

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

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

TriggerType

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

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

ViewItem

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

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

ViewType

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

ViewsToExport

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

Тип Описание
CODE Представление кода записной книжки.
DASHBOARDS Все панели управления views ноутбука.
ALL Все views страницы записной книжки.

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

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

WebhookNotifications

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

WorkspaceStorageInfo

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

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