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"
}
}
Замена:
<databricks-instance>
именем экземпляра рабочей области Azure Databricks, напримерadb-1234567890123456.7.azuredatabricks.net
.- Содержимое
create-job.json
с полями, подходящими для вашего решения.
В этом примере используется файл .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 |
NotebookTask OR SparkJarTask OR SparkPythonTask OR SparkSubmitTask OR PipelineTask OR 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 |
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 |
Максимально допустимое количество (необязательно) параллельных процессов выполнения задания. Задайте это значение, если требуется одновременное выполнение нескольких процессов выполнения одного и того же задания. Это полезно, например, если при запуске задания по расписанию с повторениями, и если необходимо, чтобы последовательные процессы выполнения перекрывались друг с другом, или если требуется сделать несколько процессов выполнения, отличающихся исходными параметрами. Этот параметр влияет только на новые запуски. Например, предположим, что параллелизм задания равен 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> }'
Замена:
<databricks-instance>
именем экземпляра рабочей области Azure Databricks, напримерadb-1234567890123456.7.azuredatabricks.net
.<job-id>
на идентификатор задания, например123
.
В этом примере используется файл .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 .
Замена:
<databricks-instance>
именем экземпляра рабочей области Azure Databricks, напримерadb-1234567890123456.7.azuredatabricks.net
.<job-id>
на идентификатор задания, например123
.
В этом примере используется файл .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"
}
}
}
Замена:
<databricks-instance>
именем экземпляра рабочей области Azure Databricks, напримерadb-1234567890123456.7.azuredatabricks.net
.- Содержимое
reset-job.json
с полями, подходящими для вашего решения.
В этом примере используется файл .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"]
}
Замена:
<databricks-instance>
именем экземпляра рабочей области Azure Databricks, напримерadb-1234567890123456.7.azuredatabricks.net
.- Содержимое
update-job.json
с полями, подходящими для вашего решения.
В этом примере используется файл .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.
- Рабочая область может содержать до 12000 сохраненных заданий.
- Задание может содержать до 100 задач.
Конечная точка | Метод 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" ]
}
Замена:
<databricks-instance>
именем экземпляра рабочей области Azure Databricks, напримерadb-1234567890123456.7.azuredatabricks.net
.- Содержимое
run-job.json
с полями, подходящими для вашего решения.
В этом примере используется файл .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.
- Рабочая область может содержать до 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"
}
}
Замена:
<databricks-instance>
именем экземпляра рабочей области Azure Databricks, напримерadb-1234567890123456.7.azuredatabricks.net
.- Содержимое
submit-job.json
с полями, подходящими для вашего решения.
В этом примере используется файл .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 |
NotebookTask OR SparkJarTask OR SparkPythonTask OR SparkSubmitTask OR PipelineTask OR 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 |
JobNotificationSettings | Необязательные параметры уведомлений, используемые при отправке уведомлений каждому 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 файле RunLifecycleState или TERMINATING RunLifecycleState. RUNNING Это поле не может быть 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 .
Замена:
<databricks-instance>
именем экземпляра рабочей области Azure Databricks, напримерadb-1234567890123456.7.azuredatabricks.net
.<run-id>
на идентификатор процесса выполнения, например123
.
В этом примере используется файл .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 .
Замена:
<databricks-instance>
именем экземпляра рабочей области Azure Databricks, напримерadb-1234567890123456.7.azuredatabricks.net
.<run-id>
на идентификатор процесса выполнения, например123
.
В этом примере используется файл .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> }'
Замена:
<databricks-instance>
именем экземпляра рабочей области Azure Databricks, напримерadb-1234567890123456.7.azuredatabricks.net
.<run-id>
на идентификатор процесса выполнения, например123
.
В этом примере используется файл .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> }'
Замена:
<databricks-instance>
именем экземпляра рабочей области Azure Databricks, напримерadb-1234567890123456.7.azuredatabricks.net
.<job-id>
на идентификатор задания, например123
.
В этом примере используется файл .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 .
Замена:
<databricks-instance>
именем экземпляра рабочей области Azure Databricks, напримерadb-1234567890123456.7.azuredatabricks.net
.<run-id>
на идентификатор процесса выполнения, например123
.
В этом примере используется файл .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> }'
Замена:
<databricks-instance>
именем экземпляра рабочей области Azure Databricks, напримерadb-1234567890123456.7.azuredatabricks.net
.<run-id>
на идентификатор процесса выполнения, например123
.
В этом примере используется файл .netrc.
Структура запроса
Имя поля | Тип | Описание |
---|---|---|
run_id |
INT64 |
Канонический идентификатор процесса выполнения, для которого извлекаются метаданные. |
Структуры данных
В этом разделе рассматриваются следующие вопросы.
- ABFSStorageInfo
- AutoScale
- AzureAttributes
- AzureAvailability
- ClusterInstance
- ClusterLogConf
- ClusterSpec
- ClusterTag
- CronSchedule
- DbfsStorageInfo
- FileStorageInfo
- InitScriptInfo
- Задание
- JobEmailNotifications
- JobNotificationSettings
- JobSettings
- JobTask
- JobsHealthRule
- JobsHealthRules
- Библиотека
- MavenLibrary
- NewCluster
- NotebookOutput
- NotebookTask
- ParamPair
- PipelineTask
- PythonPyPiLibrary
- RCranLibrary
- Выполнить
- RunJobTask
- RunLifeCycleState
- RunParameters
- RunResultState
- RunState
- SparkConfPair
- SparkEnvPair
- SparkJarTask
- SparkPythonTask
- SparkSubmitTask
- TriggerType
- ViewItem
- ViewType
- ViewsToExport
- Веб-перехватчик
- WebhookNotifications
- WorkspaceStorageInfo
ABFSStorageInfo
Сведения о хранилище Azure Data Lake Storage (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. См . раздел FileStorageInfo.
Имя поля | Тип | Описание |
---|---|---|
workspace ИЛИ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 |
Канонический идентификатор для этого задания. |
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 . |
Список адресов электронной почты, на которые будут отправлены уведомления при успешном завершении процесса выполнения. Запуск считается успешно завершенным, если он заканчивается с помощью TERMINATED life_cycle_state a и a SUCCESSFUL result_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 |
Массив веб-перехватчика | Необязательный список назначений системы, который будет получать уведомления при успешном завершении выполнения. Запуск считается успешно завершенным, если он заканчивается с помощью TERMINATED life_cycle_state a и a SUCCESSFUL result_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 . |
JobNotificationSettings
Имя поля | Тип | Описание |
---|---|---|
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 |
NotebookTask OR SparkJarTask OR SparkPythonTask OR SparkSubmitTask OR PipelineTask OR 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 |
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 |
Максимально допустимое количество (необязательно) параллельных процессов выполнения задания. Задайте это значение, если требуется одновременное выполнение нескольких процессов выполнения одного и того же задания. Это полезно, например, если при запуске задания по расписанию с повторениями, и если необходимо, чтобы последовательные процессы выполнения перекрывались друг с другом, или если требуется сделать несколько процессов выполнения, отличающихся исходными параметрами. Этот параметр влияет только на новые запуски. Например, предположим, что параллелизм задания равен 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 |
NotebookTask OR SparkJarTask OR SparkPythonTask OR SparkSubmitTask OR PipelineTask OR 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 ИЛИ ИЛИ maven cran |
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
Состояние жизненного цикла процесса выполнения. Допустимые переходы состояний:
QUEUED
->PENDING
PENDING
- - ->RUNNING
>TERMINATING
>TERMINATED
PENDING
->SKIPPED
PENDING
->INTERNAL_ERROR
RUNNING
->INTERNAL_ERROR
TERMINATING
->INTERNAL_ERROR
State | Description |
---|---|
QUEUED |
Запуск активируется, но выполняется в очередь, так как он достиг одного из следующих ограничений: — максимальное число параллельных активных запусков в рабочей области. — Максимальная параллельная Run Job задача выполняется в рабочей области.— максимальное число одновременных запусков задания. Задание или выполнение должны включить очередь, прежде чем она сможет достичь этого состояния. |
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 |
Массив веб-перехватчика | Необязательный список назначений системы, который будет получать уведомления при успешном завершении выполнения. Запуск считается успешно завершенным, если он заканчивается с помощью TERMINATED life_cycle_state a и a SUCCESSFUL result_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 . |
WorkspaceStorageInfo
Сведения о хранилище рабочей области.
Имя поля | Тип | Описание |
---|---|---|
destination |
STRING |
Место назначения файла. Пример: /Users/someone@domain.com/init_script.sh |