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.
Предупреждение
Ни в коем случае не прописывайте секреты в коде и не храните их в виде обычного текста. Используйте Secrets API для управления секретами в Databricks CLI. Используйте служебную программу для секретов (dbutils.secrets) для создания ссылок на секреты в записных книжках и заданиях.
Примечание.
Если при выполнении запросов к API заданий происходит ошибка уровня 500, Databricks рекомендует повторять запросы в течение 10 минут (с интервалом не менее 30 секунд между попытками).
Внимание
Чтобы получить доступ к REST API Databricks, необходимо пройти проверку подлинности.
Создать
Конечная точка | Метод 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.
Ответ
{
"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 ORspark_python_task ИЛИ spark_submit_task ORpipeline_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, это указывает, что задача должна запускать конвейер DLT. В случае run_job_task это указывает на то, что данное задание должно запустить другое задание. |
name |
STRING |
Опциональное имя для задания. Значение по умолчанию — Untitled . |
libraries |
Массив библиотеки | Список библиотек (необязательно), которые должны быть установлены в кластере, где будет выполнено задание. Значение по умолчанию — пустой список. |
email_notifications |
JobEmailNotifications | Набор адресов (необязательно) электронной почты, на которые приходят уведомления о начале и завершении выполнения этого задания и об его удалении. По умолчанию уведомления по электронной почте не рассылаются. |
webhook_notifications |
WebhookNotifications | Необязательный набор системных адресатов для уведомления о начале выполнения, завершении или сбое этого задания. |
notification_settings |
НастройкиУведомленийОРаботе | Необязательные параметры уведомлений, используемые при отправке уведомлений в каждую из 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 не завершит активные процессы выполнения. Однако после этого новые запуски пропускаются, если активных запусков меньше трёх. Значение не должно превышать 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.
Ответ
{
"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.
Ответ
{
"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"] . Параметры будут использоваться для вызова основного метода основного класса, указанного в задаче 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.
Ответ
{
"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 ORspark_python_task ИЛИ spark_submit_task ORpipeline_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, это указывает, что задача должна запускать конвейер DLT. Если run_job_task, это указывает, что данное задание должно запустить другое задание. |
run_name |
STRING |
Необязательное имя для процесса запуска. Значение по умолчанию — Untitled . |
webhook_notifications |
WebhookNotifications | Необязательный набор системных адресатов для уведомления о начале выполнения, завершении или сбое этого задания. |
notification_settings |
НастройкиУведомленийОРаботе | Необязательные настройки уведомлений, которые используются при отправке уведомлений каждому 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.
Ответ
{
"runs": [
{
"job_id": 1,
"run_id": 452,
"number_in_job": 5,
"state": {
"life_cycle_state": "RUNNING",
"state_message": "Performing action"
},
"task": {
"notebook_task": {
"notebook_path": "/Users/donald@duck.com/my-notebook"
}
},
"cluster_spec": {
"existing_cluster_id": "1201-my-cluster"
},
"cluster_instance": {
"cluster_id": "1201-my-cluster",
"spark_context_id": "1102398-spark-context-id"
},
"overriding_parameters": {
"jar_params": ["param1", "param2"]
},
"start_time": 1457570074236,
"end_time": 1457570075149,
"setup_duration": 259754,
"execution_duration": 3589020,
"cleanup_duration": 31038,
"run_duration": 3879812,
"trigger": "PERIODIC"
}
],
"has_more": true
}
Структура запроса
Имя поля | Тип | Описание |
---|---|---|
active_only ИЛИ completed_only |
BOOL ИЛИ BOOL |
Если active_only имеет значение true , в результаты включаются только активные процессы выполнения, в противном случае — списки активных и завершенных процессов выполнений. Активный запуск — это запуск в состоянии PENDING , RUNNING или TERMINATING RunLifecycleState. Это поле не может быть 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 |
Массив Run | Список запусков от самого недавно начатого до самого последнего. |
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.
Ответ
{
"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 |
Время начала этого запуска, выраженное в миллисекундах с 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.
Ответ
{
"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.
Ответ
{
"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
- Задание
- УведомленияОПоискеРаботыПоЭлектроннойПочте
- НастройкиУведомленийОРаботе
- JobSettings
- JobTask
- JobsHealthRule
- ПравилаЗдоровьяРабот
- Библиотека
- MavenLibrary
- NewCluster
- NotebookOutput
- NotebookTask
- ParamPair
- PipelineTask
- PythonPyPiLibrary
- RCranLibrary
- Выполнить
- RunJobTask
- RunLifeCycleState
- RunParameters
- RunResultState
- RunState
- SparkConfPair
- SparkEnvPair
- SparkJarTask
- SparkPythonTask
- SparkSubmitTask
- TriggerType
- ViewItem
- ViewType
- ViewsToExport
- Webhook
- 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. |
Доступность Azure
Тип поведения доступности экземпляра Azure.
Тип | Описание |
---|---|
SPOT_AZURE |
Используйте точечные экземпляры. |
ON_DEMAND_AZURE |
Используйте экземпляры по запросу. |
SPOT_WITH_FALLBACK_AZURE |
Предпочтительно использовать точечные экземпляры, но возвращаться к экземплярам по запросу, если не удается получить точечные (например, если цены на точечные экземпляры Azure слишком высоки или квоты исчерпаны). Не применяется к доступности бассейна. |
КластерИнстанция
Идентификаторы для кластера и контекста 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 |
Расположение журнала кластера в DBFS. Необходимо указать назначение. Например: { "dbfs" : { "destination" : "dbfs:/home/cluster_log" } } |
СпецификацияКластера
Внимание
- При запуске задания в новом кластере заданий оно рассматривается как автоматизированная рабочая нагрузка Jobs Compute, подлежащая ценообразованию Jobs Compute.
- При запуске задания в существующем универсальном кластере оно рассматривается как нагрузка Универсальных вычислений (интерактивная), подлежащая ценообразованию Универсальных вычислений.
Имя поля | Тип | Описание |
---|---|---|
existing_cluster_id ИЛИ new_cluster |
STRING ИЛИ NewCluster |
Если указано existing_cluster_id, идентификатор существующего кластера будет использоваться для всех процессов выполнения этого задания. При выполнении заданий в существующем кластере может потребоваться перезапустить кластер вручную, если он перестанет отвечать на запросы. Для улучшения надежности предлагается выполнять задания на новых кластерах. Если указан параметр new_cluster, будет создано описание кластера для каждого процесса выполнения. При указании PipelineTask это поле может быть пустым. |
libraries |
Массив библиотеки | Список библиотек (необязательно), которые должны быть установлены в кластере, где будет выполнено задание. Значение по умолчанию — пустой список. |
Тег Кластера
Определение тега кластера.
Тип | Описание |
---|---|
STRING |
Ключ тега. Ключ должен соответствовать следующим требованиям:
|
STRING |
Значение тега. Длина значения должна быть не более 256 символов стандарта UTF-8. |
Расписание Cron
Имя поля | Тип | Описание |
---|---|---|
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 |
Информация о хранилище файлов
Сведения о хранилище файлов.
Примечание.
Этот тип расположения доступен только для кластеров, настроенных с помощью служб контейнеров Databricks.
Имя поля | Тип | Описание |
---|---|---|
destination |
STRING |
Место назначения файла. Пример: file:/my/file.sh |
InitScriptInfo
Путь к скрипту инициализации.
Инструкции по использованию скриптов инициализации со службами контейнеров Databricks см. в разделе Использование скрипта инициализации.
Примечание.
Тип хранилища файлов (имя поля: file
) доступен только для кластеров, настроенных с помощью служб контейнеров 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 |
Канонический идентификатор для этой задачи. |
creator_user_name |
STRING |
Имя пользователя-создателя. Это поле не будет включено в ответ, если пользователь был уже удален. |
run_as |
STRING |
Имя пользователя, от имени которого будет выполняться задание.
run_as основывается на текущих параметрах задания и назначается создателю задания, если управление доступом к заданию отключено, или разрешению is_owner , если управление доступом включено. |
settings |
JobSettings | Параметры для этого задания и всех его процессов выполнения. Эти параметры можно обновить с помощью метода resetJob . |
created_time |
INT64 |
Время, когда задание было создано, указано в миллисекундах с начала UNIX-эпохи (01.01.1970 UTC). |
Уведомления о работе по электронной почте
Внимание
Поля on_start, on_success и on_failure принимают только латинские символы (кодировка ASCII). При использовании не-ASCII символов будет возвращена ошибка. Примерами недопустимых не-ASCII символов , являются китайские и японские иероглифы, а также эмодзи.
Имя поля | Тип | Описание |
---|---|---|
on_start |
Массив объектов STRING . |
Список адресов электронной почты, на которые будут отправлены уведомления о начале процесса выполнения. Если значение не указано при создании, сбросе или обновлении задания, список пуст, и уведомления не отправляются. |
on_success |
Массив объектов STRING . |
Список адресов электронной почты, на которые будут отправлены уведомления при успешном завершении процесса выполнения. Запуск считается успешно завершенным, если он заканчивается на TERMINATED life_cycle_state и 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 поле. Если в поле RUN_DURATION_SECONDS для задачи не указано правило для метрики health , уведомления не отправляются. |
no_alert_for_skipped_runs |
BOOL |
Если значение — true, не отправлять электронные письма получателям, указанным в on_failure , если запуск пропускается. |
Имя поля | Тип | Описание |
---|---|---|
on_start |
Массив вебхуков Webhook | Необязательный список системных назначений, которые будут получать уведомления при запуске. Если значение не указано при создании, сбросе или обновлении задания, список пуст, и уведомления не отправляются. Для свойства on_start можно указать не более 3 мест назначения. |
on_success |
Массив Webhook | Необязательный список адресов системы, чтобы получать уведомления при успешном завершении работы. Запуск считается успешно завершенным, если он заканчивается на TERMINATED life_cycle_state и SUCCESSFUL result_state . Если значение не указано при создании, сбросе или обновлении задания, список пуст, и уведомления не отправляются. Для свойства on_success можно указать не более 3 мест назначения. |
on_failure |
Массив вебхуков Webhook | Необязательный список системных адресатов для получения уведомлений при неудачном завершении выполнения. Процесс выполнения считается завершенным неудачно, если он заканчивается со значением INTERNAL_ERROR life_cycle_state или SKIPPED , FAILED или TIMED_OUT result_state. Если это не указано при создании задания, сбросе или обновлении, список пуст, и уведомления не отправляются. Для свойства on_failure можно указать не более 3 мест назначения. |
on_duration_warning_threshold_exceeded |
Массив Webhook | Необязательный список системных пунктов назначения для уведомления, когда продолжительность запуска превышает пороговое значение, указанное для метрики RUN_DURATION_SECONDS в поле health . Для свойства on_duration_warning_threshold_exceeded можно указать не более 3 мест назначения. |
Настройки уведомления о работе
Имя поля | Тип | Описание |
---|---|---|
no_alert_for_skipped_runs |
BOOL |
Если это так, не отправляйте уведомления получателям, указанным в on_failure , если выполнение пропущено. |
no_alert_for_canceled_runs |
BOOL |
Если значение true, не отправляйте уведомления получателям, указанным в on_failure случае отмены выполнения. |
alert_on_last_attempt |
BOOL |
Если задано значение true, не отправляйте уведомления получателям, указанным on_start для повторных запусков, и не отправляйте уведомления получателям, указанным on_failure до последнего повтора выполнения. |
Настройки задания
Внимание
- При выполнении задания в новом кластере заданий оно рассматривается как рабочая (автоматизированная) нагрузка Jobs Compute с учетом цены Jobs Compute.
- При выполнении задания в существующем универсальном кластере оно обрабатывается как нагрузка на вычисления общего назначения (интерактивная) и подлежит ценообразованию на вычисления общего назначения.
Параметры для задания. Эти параметры можно обновить с помощью метода resetJob
.
Имя поля | Тип | Описание |
---|---|---|
existing_cluster_id ИЛИ new_cluster |
STRING ИЛИ NewCluster |
Если указано existing_cluster_id, идентификатор существующего кластера будет использоваться для всех процессов выполнения этого задания. При выполнении заданий в существующем кластере может потребоваться перезапустить кластер вручную, если он перестанет отвечать на запросы. Для улучшения надежности предлагается выполнять задания на новых кластерах. Если new_cluster, для каждого запуска будет создано описание кластера. При указании PipelineTask это поле может быть пустым. |
notebook_task ИЛИ spark_jar_task ORspark_python_task ИЛИ spark_submit_task ORpipeline_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, это указывает, что задача должна запускать конвейер DLT. Если установлено run_job_task, это означает, что данная задача должна запустить другую задачу. |
name |
STRING |
Опциональное имя для задания. Значение по умолчанию — Untitled . |
libraries |
Массив библиотеки | Список библиотек (необязательно), которые должны быть установлены в кластере, где будет выполнено задание. Значение по умолчанию — пустой список. |
email_notifications |
JobEmailNotifications | Набор адресов электронной почты (необязательно), на которые будут отправлено уведомление о запуске или завершении процессов выполнения этого задания, а также об удалении этого задания. По умолчанию уведомления по электронной почте не рассылаются. |
webhook_notifications |
WebhookNotifications | Необязательный набор системных адресатов для уведомления о начале выполнения, завершении или сбое этого задания. |
notification_settings |
НастройкиУведомленийОРаботе | Необязательные параметры уведомлений, используемые при отправке уведомлений в каждую из email_notifications и webhook_notifications для этой задачи. |
timeout_seconds |
INT32 |
Необязательный тайм-аут, применяемый ко всем запускам этой задачи. По умолчанию — без времени ожидания. |
max_retries |
INT32 |
Максимальное количество повторных попыток при неудачном выполнении, которое можно задать по желанию. Процесс выполнения считается неудачным, если он завершается с состоянием FAILED result_state или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 |
ПравилаЗдоровьяРабот | Необязательный набор правил здоровья, определенных для работы. |
Рабочая задача
Имя поля | Тип | Описание |
---|---|---|
notebook_task ИЛИ spark_jar_task ORspark_python_task ИЛИ spark_submit_task ORpipeline_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, это указывает, что задача должна запускать конвейер DLT. Если выполняется run_job_task, это указывает, что данное задание должно запустить другое задание. |
ПравилоЗдоровьяРаботы
Имя поля | Тип | Описание |
---|---|---|
metric |
STRING |
Указывает метрику состояния, которая оценивается в соответствии с определенным правилом состояния. Допустимые значения — RUN_DURATION_SECONDS . |
operator |
STRING |
Указывает оператор, используемый для сравнения значения метрик работоспособности с указанным пороговым значением. Допустимые значения — GREATER_THAN . |
value |
INT32 |
Указывает пороговое значение, которого метрика работоспособности должна достичь, чтобы соответствовать правилу работоспособности. |
ПравилаЗдоровьяРаботы
Имя поля | Тип | Описание |
---|---|---|
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, убедитесь, что кластер имеет доступ на чтение в библиотеке.Если это egg, то указывается URI устанавливаемого egg. Поддерживаются URI DBFS и ADLS. Например, { "egg": "dbfs:/my/egg" } или{ "egg": "abfss://<container-path>/egg" } .Если whl, укажите URI wheel или URI сжатого 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. |
Новый кластер
Имя поля | Тип | Описание |
---|---|---|
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 помечает этими тегами все кластерные ресурсы (например, виртуальные машины). Примечание.
|
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 |
Полное имя задачи конвейера DLT, которую нужно выполнить. |
PythonPyPi библиотека
Имя поля | Тип | Описание |
---|---|---|
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 |
Время, когда был запущен этот процесс, выражено в миллисекундах эпохи (миллисекунды с 1 января 1970 года по времени UTC). Это время может не совпадать со временем начала выполнения задачи, например, если задание планируется запускать в новом кластере, это время выполнения вызова на создание кластера. |
setup_duration |
INT64 |
Время, затраченное на настройку кластера, в миллисекундах. Для процессов выполнения, выполняемых в новых кластерах это время создания кластера, для процессов выполнения в существующих кластерах это время должно быть очень коротким. |
execution_duration |
INT64 |
Время в миллисекундах, затраченное на выполнение команд в JAR-файле или записной книжке, пока они не были завершены, завершились сбоем, истекло время ожидания, было отменено или произошла непредвиденная ошибка. |
cleanup_duration |
INT64 |
Время в миллисекундах, затраченное на завершение работы кластера и очистку связанных артефактов. Общая длительность процесса выполнения — это сумма значений для параметров setup_duration, execution_duration и cleanup_duration. |
end_time |
INT64 |
Время завершения этого выполнения в миллисекундах эпохи (миллисекунды, прошедшие с 01.01.1970 UTC). Это поле будет иметь значение 0, если задание все еще выполняется. |
trigger |
TriggerType | Тип триггера, запустившего этот запуск. |
run_name |
STRING |
Необязательное имя для запуска. Значение по умолчанию — Untitled . Максимально допустимая длина — 4096 байт в кодировке UTF-8. |
run_page_url |
STRING |
URL-адрес страницы сведений о процессе выполнения. |
run_type |
STRING |
Тип процесса выполнения.
|
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
государство | Описание |
---|---|
QUEUED |
Запуск был активирован, но находится в ожидании, так как он достиг одного из следующих ограничений:
Задание или процесс должны иметь включенную очередь, прежде чем они могут достичь этого состояния. |
PENDING |
Запуск был инициирован. Если уже достигнуто настроенное максимальное число одновременных запусков задания, выполнение немедленно перейдет в SKIPPED состояние без подготовки ресурсов. В противном случае подготовка кластера и выполнение находятся в процессе. |
RUNNING |
Задача этого запуска выполняется. |
TERMINATING |
Задача этого процесса выполнения завершена, выполняется очистка кластера и контекста выполнения. |
TERMINATED |
Задача этого запуска завершена, а кластер и контекст выполнения были очищены. Это состояние — терминальное. |
SKIPPED |
Этот запуск был отменён, так как предыдущий запуск этой же задачи уже выполнялся. Это состояние — терминальное. |
INTERNAL_ERROR |
Исключительная ситуация, указывающая на сбой в работе службы заданий, например, сбой сети в течение продолжительного времени. Если выполнение на новом кластере завершается в состоянии INTERNAL_ERROR , служба заданий прекращает работу кластера как можно скорее. Это состояние — терминальное. |
RunParameters
Параметры для этого запуска. В запросе должен быть указан только один из параметров: jar_params, python_params
или notebook_params, в зависимости от типа задачи задания.
Задачи Spark JAR или Python используют список позиционных параметров, а задачи в ноутбуке принимают карту «ключ-значение».
Имя поля | Тип | Описание |
---|---|---|
jar_params |
Массив объектов STRING . |
Список параметров для заданий с использованием Spark JAR, например "jar_params": ["john doe", "35"] . Параметры будут использоваться для вызова функции 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 символов , являются китайские и японские иероглифы, а также эмодзи. |
СостояниеРезультатаЗапуска
Состояние результата процесса выполнения.
- Если
life_cycle_state
=TERMINATED
: если процесс выполнения содержал задачу, результат будет гарантированно доступен, и это указывает на результат выполнения задачи. - Если
life_cycle_state
=PENDING
,RUNNING
илиSKIPPED
, состояние результата недоступно. - Если
life_cycle_state
=TERMINATING
или lifecyclestate =INTERNAL_ERROR
: состояние результата доступно, если выполнение имело задачу и успешно начало её.
После того, как состояние результата становится доступным, оно никогда не изменяется.
государство | Описание |
---|---|
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 |
Полное имя класса, который содержит главный метод, который будет выполнен. Этот класс должен содержаться в файле JAR, предоставляемом в виде библиотеки. Код должен использовать SparkContext.getOrCreate для получения контекста Spark; в противном случае выполнение задачи завершится ошибкой. |
parameters |
Массив данных STRING . |
Параметры, передаваемые в метод main. Используйте ссылку на динамическое значение, чтобы задать параметры, содержащие сведения о ходе заданий. |
SparkPythonTask
Имя поля | Тип | Описание |
---|---|---|
python_file |
STRING |
URI файла Python, подлежащего выполнению. Поддерживаются пути DBFS. Это обязательное поле. |
parameters |
Массив объектов STRING . |
Параметры командной строки, передаваемые в файл Python. Используйте ссылку на динамическое значение, чтобы задать параметры, содержащие сведения о выполнении задания. |
Задача SparkSubmit
Внимание
- Вы можете вызывать задачи 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. Используйте ссылку на динамическое значение, чтобы задать параметры, содержащие сведения о выполнении задания. |
Тип Триггера
Это типы триггеров, которые могут запускать запуск.
Тип | Описание |
---|---|
PERIODIC |
Расписания, которые периодически инициируют процессы выполнения, например планировщик cron. |
ONE_TIME |
Триггеры инициируют однократный запуск процесса выполнения. Это происходит тогда, когда выполнен однократный запуск по запросу через пользовательский интерфейс или API. |
RETRY |
Указывает на процесс выполнения, который запускается в качестве повторной попытки ранее неудавшегося процесса выполнения. Это происходит, при запросе на повторный запуск задания в случае ошибки. |
Просмотреть объект
Экспортированное содержимое имеет формат HTML. Например, если представлением для экспорта является панели мониторинга, то для каждой такой панели возвращается одна строка HTML.
Имя поля | Тип | Описание |
---|---|---|
content |
STRING |
Содержимое представления. |
name |
STRING |
Имя элемента представления. Для представления кода это имя записной книжки. В случае представления панели мониторинга, имя панели мониторинга. |
type |
ViewType | Тип элемента представления. |
ViewType
Тип | Описание |
---|---|
NOTEBOOK |
Элемент отображения записной книжки. |
DASHBOARD |
Элемент панели мониторинга. |
ПредставленияДляЭкспорта
Представление для экспорта: либо код, все панели мониторинга, либо все.
Тип | Описание |
---|---|
CODE |
Вид кода записной книжки. |
DASHBOARDS |
Все представления панели управления ноутбука. |
ALL |
Все виды ноутбука. |
Вебхук
Имя поля | Тип | Описание |
---|---|---|
id |
STRING |
Идентификатор, ссылающийся на назначение системного уведомления. Это обязательное поле. |
Уведомления вебхука
Имя поля | Тип | Описание |
---|---|---|
on_start |
Массив вебхуков Webhook | Необязательный список системных адресатов, которым будут отправляться уведомления при запуске. Если значение не указано при создании, сбросе или обновлении задания, список пуст, и уведомления не отправляются. Для свойства on_start можно указать не более 3 мест назначения. |
on_success |
Массив Webhook | Необязательный список адресов системы, чтобы получать уведомления при успешном завершении работы. Запуск считается успешно завершенным, если он заканчивается на TERMINATED life_cycle_state и SUCCESSFUL result_state . Если значение не указано при создании, сбросе или обновлении задания, список пуст, и уведомления не отправляются. Для свойства on_success можно указать не более 3 мест назначения. |
on_failure |
Массив Webhook | Необязательный список системных пунктов назначения для получения уведомлений в случае неудачного завершения выполнения. Процесс выполнения считается завершенным неудачно, если он заканчивается со значением INTERNAL_ERROR life_cycle_state или SKIPPED , FAILED , или TIMED_OUT result_state . Если это не указано при создании задания, сбросе или обновлении, список пуст, и уведомления не отправляются. Для свойства on_failure можно указать не более 3 мест назначения. |
on_duration_warning_threshold_exceeded |
Массив вебхуков | Необязательный список системных пунктов назначения, которые будут уведомлены, когда продолжительность выполнения превышает пороговое значение, указанное для метрики RUN_DURATION_SECONDS в поле health . Для свойства on_duration_warning_threshold_exceeded можно указать не более 3 мест назначения. |
Информация о хранилище рабочего пространства
Сведения о хранилище рабочей области.
Имя поля | Тип | Описание |
---|---|---|
destination |
STRING |
Место назначения файла. Пример: /Users/someone@domain.com/init_script.sh |