Jobs API 2.0
Внимание
В этой статье описана версия API заданий версии 2.0. Однако Databricks рекомендует использовать API заданий версии 2.2 для новых и существующих клиентов и сценариев. Дополнительные сведения об изменениях в версии 2.2 Jobs API см. обновление с версии 2.1 до 2.2.
С помощью API заданий можно создавать, изменять и удалять задания. Максимально допустимый размер запроса к API заданий — 10 МБ.
Дополнительные сведения об обновленных функциях в более поздних версиях API заданий см. в статье Обновление с API заданий 2.0 до версии 2.1 и Обновление с API заданий 2.1 до версии 2.2.
Предупреждение
Ни в коем случае не прописывайте секреты в коде и не храните их в виде обычного текста. Используйте API секретов для управления секретами в интерфейсе командной строки Databricks. Используйте служебную программу для секретов (dbutils.secrets) для создания ссылок на секреты в записных книжках и заданиях.
Примечание.
Если при выполнении запросов API заданий выдается ошибка уровня 500, то Databricks рекомендует повторять запросы до 10 минут (с интервалом в 30 секунд между запросами).
Внимание
Чтобы получить доступ к REST API Databricks, необходимо пройти проверку подлинности.
Create
Конечная точка | Метод HTTP |
---|---|
2.0/jobs/create |
POST |
Создать новую работу.
Пример
В этом примере создается задание, которое выполняет задачу JAR каждую ночь в 22:15.
Запросить
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/create \
--data @create-job.json \
| jq .
create-job.json
:
{
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "Standard_D3_v2",
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"timeout_seconds": 3600,
"max_retries": 1,
"schedule": {
"quartz_cron_expression": "0 15 22 * * ?",
"timezone_id": "America/Los_Angeles"
},
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
}
Замена:
-
<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 |
NotebookTaskOR SparkJarTask OR SparkPythonTask OR SparkSubmitTask OR PipelineTaskOR RunJobTask | Если указано notebook_task, это задание должно запускать записную книжку. Это поле не указывается вместе с spark_jar_task. Если указано spark_jar_task, это задание должно запускать JAR-файл. Если указано spark_python_task, это задание должно запускать файл Python. Если указано spark_submit_task, это задание должно запускаться сценарием spark-submit. Если pipeline_task, указывает, что это задание должно запускать конвейер Delta Live Tables. Если run_job_task, указывает, что это задание должно выполнять другое задание. |
name |
STRING |
Имя задания (необязательно). Значение по умолчанию — Untitled . |
libraries |
Массив библиотеки | Необязательный list библиотек, установленных в кластере, который выполнит задание. Значение по умолчанию — пустой list. |
email_notifications |
JobEmailNotifications | Необязательное количество set адресов электронной почты, которые уведомляются, когда запуски этого задания начинаются и завершаются, а также когда это задание удаляется. По умолчанию уведомления по электронной почте не рассылаются. |
webhook_notifications |
WebhookNotifications | Необязательный набор set системных адресатов для уведомления о начале, завершении или сбое выполнения этого задания. |
notification_settings |
JobNotificationSettings | Необязательные параметры уведомлений, используемые при отправке уведомлений в каждое из заданий email_notifications и webhook_notifications для этого задания. |
timeout_seconds |
INT32 |
Время ожидания (необязательно), применяемое к каждому процессу выполнения этого задания. По умолчанию — без времени ожидания. |
max_retries |
INT32 |
Максимальное количество попыток при неудачном выполнении. Процесс выполнения считается неудачным, если он завершается с состоянием result_state FAILED илиINTERNAL_ERROR life_cycle_state . Значение -1 означает неопределенное количество повторений, а 0 — без повторов. По умолчанию: без повторов. |
min_retry_interval_millis |
INT32 |
Минимальный интервал (необязательно) в миллисекундах между неудачным процессом выполнения и последующим повторным процессом выполнения. По умолчанию: неудачные процессы выполнения повторяются немедленно. |
retry_on_timeout |
BOOL |
Политика (необязательно), указывающая, следует ли повторять задание по истечении времени ожидания. По умолчанию — не делать попытку по истечении времени ожидания. |
schedule |
CronSchedule | Расписание (необязательно) с периодическим выполнением этого задания. Поведение по умолчанию заключается в том, что задание выполняется при активации, нажав кнопку "Выполнить сейчас " в пользовательском интерфейсе заданий или отправляя запрос API в runNow . |
max_concurrent_runs |
INT32 |
Максимально допустимое количество (необязательно) параллельных процессов выполнения задания. Set это значение, если вы хотите одновременно выполнять несколько запусков одного задания. Это полезно, например, если вы запускаете задание по частому расписанию и хотите разрешить последовательным запускам перекрываться друг с другом, или если вы хотите запускать несколько запусков, которые отличаются по входным данным parameters. Этот параметр влияет только на новые запуски. Например, предположим, что параллелизм задания равен 4, и существует 4 параллельных активных процесса выполнения. После этого установка для параллелизма значения 3 не приведет к уничтожению активных процессов выполнения. Однако после этого новые процессы выполнения пропускаются, если не будет достигнуто не более 3 активных процессов. Значение не должно превышать 1000. Если это значение равно 0, все новые процессы выполнения пропускаются. По умолчанию: разрешить только 1 параллельный процесс выполнения. |
Структура ответа
Имя поля | Тип | Описание |
---|---|---|
job_id |
INT64 |
Каноническое identifier для недавно созданной задачи. |
List
Конечная точка | Метод HTTP |
---|---|
2.0/jobs/list |
GET |
List все задания.
Пример
Запросить
curl --netrc --request GET \
https://<databricks-instance>/api/2.0/jobs/list \
| jq .
Замените <databricks-instance>
на имя экземпляра рабочей области Azure Databricks, например adb-1234567890123456.7.azuredatabricks.net
.
В этом примере используется файл .netrc и jq.
Response
{
"jobs": [
{
"job_id": 1,
"settings": {
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "Standard_D3_v2",
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"timeout_seconds": 100000000,
"max_retries": 1,
"schedule": {
"quartz_cron_expression": "0 15 22 * * ?",
"timezone_id": "America/Los_Angeles",
"pause_status": "UNPAUSED"
},
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
},
"created_time": 1457570074236
}
]
}
Структура ответа
Имя поля | Тип | Описание |
---|---|---|
jobs |
Массив задания | list заданий. |
Удаление
Конечная точка | Метод HTTP |
---|---|
2.0/jobs/delete |
POST |
Удалите задание и отправьте сообщение электронной почты по адресам, указанным в JobSettings.email_notifications
. Если задание уже удалено, никакие действия не выполняются. После удаления задания его сведения, его журнал выполнения не отображаются в пользовательском интерфейсе заданий или API. Задание гарантированно удаляется после завершения этого запроса. Однако процессы выполнения, которые были активны до получения этого запроса, могут оставаться активными. Они будут завершаться асинхронно.
Пример
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/delete \
--data '{ "job_id": <job-id> }'
Замена:
-
<databricks-instance>
именем экземпляра рабочей области Azure Databricks, напримерadb-1234567890123456.7.azuredatabricks.net
. -
<job-id>
на идентификатор задания, например123
.
В этом примере используется файл .netrc.
Структура запроса
Имя поля | Тип | Описание |
---|---|---|
job_id |
INT64 |
Каноническое значение identifier для удаления задания. Это обязательное поле. |
Get
Конечная точка | Метод HTTP |
---|---|
2.0/jobs/get |
GET |
Получите сведения об одном задании.
Пример
Запросить
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/get?job_id=<job-id>' \
| jq .
Или сделайте так:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/get \
--data job_id=<job-id> \
| jq .
Замена:
-
<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 |
Каноническое identifier задания, о котором нужно получить информацию. Это обязательное поле. |
Структура ответа
Имя поля | Тип | Описание |
---|---|---|
job_id |
INT64 |
Каноническое identifier для этого задания. |
creator_user_name |
STRING |
Имя пользователя-создателя. Это поле не будет включено в ответ, если пользователь был удален. |
settings |
JobSettings | Параметры для этого задания и всех его процессов выполнения. Эти параметры можно обновить с помощью конечных точек Reset или Update. |
created_time |
INT64 |
Время, когда задание было создано, выраженное в миллисекундах с начала эпохи (с начала эпохи UNIX 01.01.1970 UTC). |
Reset
Конечная точка | Метод HTTP |
---|---|
2.0/jobs/reset |
POST |
Перезаписать все параметры конкретного задания. Используйте конечную точку Update для частичного update параметров задания.
Пример
В этом примере запрос делает задание 2 идентичным заданию 1 в примере создания.
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/reset \
--data @reset-job.json \
| jq .
reset-job.json
:
{
"job_id": 2,
"new_settings": {
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "Standard_D3_v2",
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"timeout_seconds": 100000000,
"max_retries": 1,
"schedule": {
"quartz_cron_expression": "0 15 22 * * ?",
"timezone_id": "America/Los_Angeles",
"pause_status": "UNPAUSED"
},
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
}
}
Замена:
-
<databricks-instance>
именем экземпляра рабочей области Azure Databricks, напримерadb-1234567890123456.7.azuredatabricks.net
. - Содержимое
reset-job.json
с полями, подходящими для вашего решения.
В этом примере используется файл .netrc и jq.
Структура запроса
Имя поля | Тип | Описание |
---|---|---|
job_id |
INT64 |
Каноническое identifier задания для reset. Это обязательное поле. |
new_settings |
JobSettings | Новые параметры задания. Эти параметры полностью заменяют прежние параметры. Изменения в поле JobSettings.timeout_seconds применяются к активным процессам выполнения. Изменения в других полях применяются только к будущим процессам выполнения. |
Update
Конечная точка | Метод HTTP |
---|---|
2.0/jobs/update |
POST |
Добавление, изменение или remove определенных параметров существующего задания. Используйте конечную точку Reset для перезаписи всех параметров задания.
Пример
В этом примере запрос удаляет библиотеки и добавляет параметры уведомлений по электронной почте в задание 1, определенное в примере Создание.
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/update \
--data @update-job.json \
| jq .
update-job.json
:
{
"job_id": 1,
"new_settings": {
"existing_cluster_id": "1201-my-cluster",
"email_notifications": {
"on_start": [ "someone@example.com" ],
"on_success": [],
"on_failure": []
}
},
"fields_to_remove": ["libraries"]
}
Замена:
-
<databricks-instance>
именем экземпляра рабочей области Azure Databricks, напримерadb-1234567890123456.7.azuredatabricks.net
. - Содержимое
update-job.json
с полями, подходящими для вашего решения.
В этом примере используется файл .netrc и jq.
Структура запроса
Имя поля | Тип | Описание |
---|---|---|
job_id |
INT64 |
Каноническое identifier задания для update. Это обязательное поле. |
new_settings |
JobSettings | Новые параметры для задания. Поля верхнего уровня, указанные в new_settings , за исключением массивов, полностью заменяются. Массивы объединяются на основе соответствующих ключевых полей, таких как task_key илиjob_cluster_key И записи массива с тем же ключом полностью заменяются. За исключением объединения массивов, частично обновляемые вложенные поля не поддерживаются.Изменения в поле JobSettings.timeout_seconds применяются к активным процессам выполнения. Изменения в других полях применяются только к будущим процессам выполнения. |
fields_to_remove |
Массив объектов STRING . |
Remove поля верхнего уровня в параметрах задания. Удаление вложенных полей не поддерживается, за исключением записей из tasks массивов и job_clusters массивов. Например, ниже приведен допустимый аргумент для этого поля:["libraries", "schedule", "tasks/task_1", "job_clusters/Default"] Это поле необязательно. |
Запустить сейчас
Внимание
- Рабочая область ограничена 1000 одновременных запусков задач. Ответ
429 Too Many Requests
возвращается при запросе на выполнение, которое не может быть запущено немедленно. - Число заданий, создаваемых рабочей областью в течение часа, ограничено 10000 (включая "Отправка процессов выполнений"). Это limit также влияет на задания, созданные с помощью REST API и рабочих процессов в записной книжке.
- Рабочая область может содержать до 12000 сохраненных заданий.
- Задание может содержать до 100 задач.
Конечная точка | Метод HTTP |
---|---|
2.0/jobs/run-now |
POST |
Выполните задание сейчас и возвратите run_id
запущенного процесса выполнения.
Совет
Если вы вызываете
Пример
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 . |
list
parameters задач с заданиями JAR, например "jar_params": ["john doe", "35"] .
parameters будет использоваться для вызова главной функции основного класса, указанного в задаче Spark JAR. Если значение не указано при run-now , по умолчанию используется пустая list. jar_params запрещено указывать вместе с notebook_params. Представление JSON этого поля (т. е. {"jar_params":["john doe","35"]} ) не может превышать 10 000 байт. |
notebook_params |
Сопоставление ParamPair | Сопоставление ключей с values к заданиям с задачей записной книжки."notebook_params": {"name": "john doe", "age": "35"} . Карта передается в записную книжку и доступна через функцию dbutils.widgets.get.Если не указано при run-now , запуск использует основную parametersзадания.notebook_params запрещено указывать вместе с jar_params. Представление JSON этого поля (т. е. {"notebook_params":{"name":"john doe","age":"35"}} ) не может превышать 10 000 байт. |
python_params |
Массив объектов STRING . |
Для listparameters вакансий с задачами на Python, например "python_params": ["john doe", "35"] .
parameters будет передан в файл Python в виде parametersкомандной строки. При указании run-now он перезаписывает parameters, указанный в параметре задания. Представление JSON этого поля (т. е. {"python_params":["john doe","35"]} ) не может превышать 10 000 байт. |
spark_submit_params |
Массив объектов STRING . |
list из parameters для заданий с задачей запуска spark-submit, например."spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"] .
parameters будут переданы в скрипт spark-submit как параметры командной строки parameters. При указании run-now он перезаписывает parameters, указанный в параметре задания. Представление JSON этого поля не может превышать 10 000 байт. |
idempotency_token |
STRING |
Необязательный токен для гарантии идемпотентности запросов на создание кластера. Если выполнение с указанным токеном уже существует, запрос не создаст новое выполнение, но вернет идентификатор существующего процесса. При удалении выполнения с предоставленным маркером возвращается ошибка. Если вы указали кластер идемпотентности, после сбоя можно повторить попытку до успешного завершения запроса. Azure Databricks гарантирует, что с этим токеном идемпотентности будет запущен только один процесс выполнения. Этот токен должен содержать не более 64 символов. Дополнительные сведения см. в разделе Метод обеспечения идемпотентности для заданий. |
Структура ответа
Имя поля | Тип | Описание |
---|---|---|
run_id |
INT64 |
Глобальный уникальный идентификатор вновь запущенного процесса выполнения. |
number_in_job |
INT64 |
Порядковый номер этого процесса среди всех процессов выполнений задания. |
Отправка выполнений
Внимание
- Рабочая область ограничена 1000 одновременных запусков задач. Ответ
429 Too Many Requests
возвращается при запросе на выполнение, которое не может быть запущено немедленно. - Число заданий, создаваемых рабочей областью в течение часа, ограничено 10000 (включая "Отправка процессов выполнений"). Это limit также влияет на задания, созданные с помощью REST API и рабочих процессов в записной книжке.
- Рабочая область может содержать до 12000 сохраненных заданий.
- Задание может содержать до 100 задач.
Конечная точка | Метод HTTP |
---|---|
2.0/jobs/runs/submit |
POST |
Отправьте однократное выполнение. Эта конечная точка позволяет отправлять рабочую нагрузку напрямую без создания задания. Используйте API jobs/runs/get
для проверки состояния процесса выполнения после отправки задания.
Пример
Запросить
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/submit \
--data @submit-job.json \
| jq .
submit-job.json
:
{
"run_name": "my spark task",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "Standard_D3_v2",
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
}
Замена:
-
<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 |
NotebookTaskOR SparkJarTask OR SparkPythonTask OR SparkSubmitTask OR PipelineTaskOR RunJobTask | Если указано notebook_task, это задание должно запускать записную книжку. Это поле не указывается вместе с spark_jar_task. Если указано spark_jar_task, это задание должно запускать JAR-файл. Если указано spark_python_task, это задание должно запускать файл Python. Если указано spark_submit_task, это задание должно запускаться сценарием spark-submit. Если pipeline_task, указывает, что это задание должно запускать конвейер Delta Live Tables. Если run_job_task, указывает, что это задание должно выполнять другое задание. |
run_name |
STRING |
Имя выполнения (необязательно). Значение по умолчанию — Untitled . |
webhook_notifications |
WebhookNotifications | Необязательный набор set системных адресатов для уведомления о начале, завершении или сбое выполнения этого задания. |
notification_settings |
JobNotificationSettings | Необязательные параметры уведомлений, используемые при отправке уведомлений каждому webhook_notifications из этих запусков. |
libraries |
Массив библиотеки | Необязательный list библиотек, установленных в кластере, который выполнит задание. Значение по умолчанию — пустой list. |
timeout_seconds |
INT32 |
Время ожидания (необязательно), применяемое к каждому процессу выполнения этого задания. По умолчанию — без времени ожидания. |
idempotency_token |
STRING |
Необязательный токен для гарантии идемпотентности запросов на создание кластера. Если выполнение с указанным токеном уже существует, запрос не создаст новое выполнение, но вернет идентификатор существующего процесса. При удалении выполнения с предоставленным маркером возвращается ошибка. Если вы указали кластер идемпотентности, после сбоя можно повторить попытку до успешного завершения запроса. Azure Databricks гарантирует, что с этим токеном идемпотентности будет запущен только один процесс выполнения. Этот токен должен содержать не более 64 символов. Дополнительные сведения см. в разделе Метод обеспечения идемпотентности для заданий. |
Структура ответа
Имя поля | Тип | Описание |
---|---|---|
run_id |
INT64 |
Каноническое identifier для только что отправленного прогона. |
выполняется list
Конечная точка | Метод HTTP |
---|---|
2.0/jobs/runs/list |
GET |
List запускается по убыванию времени начала.
Примечание.
Процессы выполнения автоматически удаляются через 60 дней. Если необходимо обращаться к ним больше 60 дней, следует сохранить старые результаты процессов выполнений до истечения срока их действия. Чтобы экспортировать с использованием пользовательского интерфейса, см. раздел Результаты выполнения задания экспорта. Инструкции по экспорту с помощью API заданий см. в разделе Экспорт выполнений.
Пример
Запросить
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/list?job_id=<job-id>&active_only=<true-false>&offset=<offset>&limit=<limit>&run_type=<run-type>' \
| jq .
Или сделайте так:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/list \
--data 'job_id=<job-id>&active_only=<true-false>&offset=<offset>&limit=<limit>&run_type=<run-type>' \
| jq .
Замена:
-
<databricks-instance>
именем экземпляра рабочей области Azure Databricks, напримерadb-1234567890123456.7.azuredatabricks.net
. -
<job-id>
на идентификатор задания, например123
. - "
<true-false>
сtrue
илиfalse
". -
<offset>
на значениеoffset
. -
<limit>
на значениеlimit
. -
<run-type>
на значениеrun_type
.
В этом примере используется файл .netrc и jq.
Response
{
"runs": [
{
"job_id": 1,
"run_id": 452,
"number_in_job": 5,
"state": {
"life_cycle_state": "RUNNING",
"state_message": "Performing action"
},
"task": {
"notebook_task": {
"notebook_path": "/Users/donald@duck.com/my-notebook"
}
},
"cluster_spec": {
"existing_cluster_id": "1201-my-cluster"
},
"cluster_instance": {
"cluster_id": "1201-my-cluster",
"spark_context_id": "1102398-spark-context-id"
},
"overriding_parameters": {
"jar_params": ["param1", "param2"]
},
"start_time": 1457570074236,
"end_time": 1457570075149,
"setup_duration": 259754,
"execution_duration": 3589020,
"cleanup_duration": 31038,
"run_duration": 3879812,
"trigger": "PERIODIC"
}
],
"has_more": true
}
Структура запроса
Имя поля | Тип | Описание |
---|---|---|
active_only ИЛИ completed_only |
BOOL ИЛИ BOOL |
Если active_only имеет значение true , в результаты включаются только активные процессы выполнения, в противном случае — списки активных и завершенных процессов выполнений. Активный запуск — это запуск в PENDING файле RunLifecycleState или RUNNING TERMINATING . Это поле не может быть true , если completed_only имеет значение true .Если completed_only имеет значение true , в результаты включаются только завершенные процессы выполнения, в противном случае — списки активных и завершенных процессов выполнений. Это поле не может быть true , если active_only имеет значение true . |
job_id |
INT64 |
Задание, при выполнении которого работает list. Если это не указано, служба заданий list будет запускаться из всех заданий. |
offset |
INT32 |
offset первого запуска относительно последнего запуска, к которому возвращается. |
limit |
INT32 |
Количество процессов выполнения для возврата. Это значение должно быть больше 0 и меньше 1000. Значение по умолчанию — 20. Если запрос задает limit 0, служба будет использовать вместо этого максимальный limit. |
run_type |
STRING |
Тип процессов выполнения для возврата. Описание типов процессов выполнения см. в разделе Выполнение. |
Структура ответа
Имя поля | Тип | Описание |
---|---|---|
runs |
Массив процессов выполнения | list запусков, начиная с последнего начала до минимума. |
has_more |
BOOL |
Если значение — true, дополнительные процессы выполнения, соответствующие указанному фильтру, доступны для перечисления. |
выполняется get
Конечная точка | Метод HTTP |
---|---|
2.0/jobs/runs/get |
GET |
Получение метаданных процесса выполнения.
Примечание.
Процессы выполнения автоматически удаляются через 60 дней. Если необходимо обращаться к ним больше 60 дней, следует сохранить старые результаты процессов выполнений до истечения срока их действия. Чтобы экспортировать с использованием пользовательского интерфейса, см. раздел Результаты выполнения задания экспорта. Инструкции по экспорту с помощью API заданий см. в разделе Экспорт выполнений.
Пример
Запросить
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get?run_id=<run-id>' \
| jq .
Или сделайте так:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get \
--data run_id=<run-id> \
| jq .
Замена:
-
<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 |
Каноническое identifier выполнения, для которого извлекаются метаданные. Это обязательное поле. |
Структура ответа
Имя поля | Тип | Описание |
---|---|---|
job_id |
INT64 |
Каноническое identifier задания, содержащего этот запуск. |
run_id |
INT64 |
Каноническое identifier запуска. Этот идентификатор уникален для всех процессов выполнения всех заданий. |
number_in_job |
INT64 |
Порядковый номер этого процесса среди всех процессов выполнений задания. Это значение начинается с 1. |
original_attempt_run_id |
INT64 |
Если этот процесс выполнения является повторением предыдущей попытки запуска процесса, это поле содержит run_id исходного процесса, в противном случае он совпадает с run_id. |
state |
RunState | Результат и состояния жизненного цикла процесса выполнения. |
schedule |
CronSchedule | Расписание службы cron, запускающей этот процесс выполнения, если он был запущен планировщиком периодических процессов. |
task |
JobTask | Задача, выполняемая процессом выполнения, при наличии. |
cluster_spec |
ClusterSpec | Моментальный снимок спецификации кластера задания при создании этого процесса выполнения. |
cluster_instance |
ClusterInstance | Кластер, используемый для этого процесса выполнения. Если запуск указан для использования нового кластера, это поле будет set после того, как служба заданий запросила кластер для запуска. |
overriding_parameters |
RunParameters | parameters, используемый для этого запуска. |
start_time |
INT64 |
Время создания этого процесса выполнения, выраженное в миллисекундах с начала эпохи (с начала эпохи UNIX 01.01.1970 UTC). Это может быть не тем временем, когда задача задания начинает выполнение, например, если задание планируется запускать в новом кластере, это время вызова создания кластера. |
end_time |
INT64 |
Время завершения этого процесса выполнения, выраженное в миллисекундах с начала эпохи (с начала эпохи UNIX 01.01.1970 UTC). Это поле будет иметь значение от set до 0, если задание все еще выполняется. |
setup_duration |
INT64 |
Время в миллисекундах, необходимое для загрузки кластера set. Для процессов выполнения, выполняемых в новых кластерах это время создания кластера, для процессов выполнения в существующих кластерах это время должно быть очень коротким. Общая длительность выполнения — это сумма setup_duration ,execution_duration , и cleanup_duration . Поле setup_duration устанавливается в значение set, равное 0, для многозадачных запусков заданий. Общая длительность выполнения многофакторного задания — это значениеrun_duration поле. |
execution_duration |
INT64 |
Время в миллисекундах, затраченное на выполнение команд в JAR-файле или записной книжке, пока они не были завершены, завершились сбоем, истекло время ожидания, было отменено или произошла непредвиденная ошибка. Общая длительность выполнения — это сумма setup_duration , execution_duration а такжеcleanup_duration . Поле execution_duration устанавливается в значение set, равное 0, для многозадачных запусков заданий. Общая длительность выполнения многофакторного задания — это значение run_duration поля. |
cleanup_duration |
INT64 |
Время в миллисекундах, затраченное на завершение работы кластера и очистку связанных артефактов. Общая длительность выполнения — это сумма setup_duration , execution_duration а также cleanup_duration . Поле cleanup_duration устанавливается в значение set, равное 0, для многозадачных запусков заданий. Общая длительность выполнения многофакторного задания — это значение run_duration поля. |
run_duration |
INT64 |
Время в миллисекундах потребовалось выполнение задания и все его ремонты, чтобы завершить. Это поле set используется только для выполнения многозадачных заданий и не применяется для выполнения отдельных задач. Длительность выполнения задачи — это суммаsetup_duration , execution_duration и cleanup_duration . |
trigger |
TriggerType | Тип триггера, запустившего этот процесс выполнения. |
creator_user_name |
STRING |
Имя пользователя-создателя. Это поле не будет включено в ответ, если пользователь был удален |
run_page_url |
STRING |
URL-адрес страницы сведений о процессе выполнения. |
Экспорт процессов выполнения
Конечная точка | Метод HTTP |
---|---|
2.0/jobs/runs/export |
GET |
Экспорт и получение задачи процесса выполнения задания.
Примечание.
Только процессы выполнения записных книжек можно экспортировать в формате HTML. Экспорт процессов выполнения других типов завершится ошибкой.
Пример
Запросить
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/export?run_id=<run-id>' \
| jq .
Или сделайте так:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/export \
--data run_id=<run-id> \
| jq .
Замена:
-
<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 |
Каноническое определение identifier для запуска. Это обязательное поле. |
views_to_export |
ViewsToExport | Какой views экспортировать (CODE, DASHBOARDS или ВСЕ). По умолчанию — CODE (КОД). |
Структура ответа
Имя поля | Тип | Описание |
---|---|---|
views |
Массив ViewItem | Экспортированное содержимое в формате HTML (по одному для каждого элемента представления). |
Отмена процессов выполнения
Конечная точка | Метод HTTP |
---|---|
2.0/jobs/runs/cancel |
POST |
Отменяет выполнение задания. Так как выполнение отменяется асинхронно, по завершении этого запроса процесс выполнения может все еще выполняться. В ближайшее время процесс выполнения будет прерван. Если процесс выполнения уже на этапе завершенияlife_cycle_state
, этот метод не применяется.
Эта конечная точка проверяет, является ли параметр run_id
допустимым и для недопустимых parameters возвращает код состояния HTTP 400.
Пример
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel \
--data '{ "run_id": <run-id> }'
Замена:
-
<databricks-instance>
именем экземпляра рабочей области Azure Databricks, напримерadb-1234567890123456.7.azuredatabricks.net
. -
<run-id>
на идентификатор процесса выполнения, например123
.
В этом примере используется файл .netrc.
Структура запроса
Имя поля | Тип | Описание |
---|---|---|
run_id |
INT64 |
Канонический identifier запускаемого процесса для отмены. Это обязательное поле. |
Отмена всех выполнений
Конечная точка | Метод HTTP |
---|---|
2.0/jobs/runs/cancel-all |
POST |
Отменяет все активные выполнения задания. Так как выполнение отменено асинхронно, это не предотвращает запуск новых выполнений.
Эта конечная точка проверяет, является ли параметр job_id
допустимым и для недопустимых parameters возвращает код состояния HTTP 400.
Пример
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel-all \
--data '{ "job_id": <job-id> }'
Замена:
-
<databricks-instance>
именем экземпляра рабочей области Azure Databricks, напримерadb-1234567890123456.7.azuredatabricks.net
. -
<job-id>
на идентификатор задания, например123
.
В этом примере используется файл .netrc.
Структура запроса
Имя поля | Тип | Описание |
---|---|---|
job_id |
INT64 |
Каноническое identifier задания для отмены всех запусков. Это обязательное поле. |
выходные данные выполняется get
Конечная точка | Метод HTTP |
---|---|
2.0/jobs/runs/get-output |
GET |
Получение выходных данных и метаданных процесса выполнения отдельной задачи. Если задача записной книжки возвращает значение через вызов функции dbutils.notebook.exit(), эту конечную точку можно использовать для получения этого значения. Azure Databricks ограничивает этот интерфейс API, чтобы он возвращал первые 5 МБ выходных данных. Чтобы возвратить больший результат, можно сохранить результаты задания в службе облачного хранения.
Эта конечная точка проверяет, является ли параметр run_id
допустимым и для недопустимых parameters возвращает код состояния HTTP 400.
Процессы выполнения автоматически удаляются через 60 дней. Если необходимо обращаться к ним больше 60 дней, следует сохранить старые результаты процессов выполнений до истечения срока их действия. Чтобы экспортировать с использованием пользовательского интерфейса, см. раздел Результаты выполнения задания экспорта. Инструкции по экспорту с помощью API заданий см. в разделе Экспорт выполнений.
Пример
Запросить
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get-output?run_id=<run-id>' \
| jq .
Или сделайте так:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get-output \
--data run_id=<run-id> \
| jq .
Замена:
-
<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 |
Каноническое определение identifier для запуска. Для задания с несколькими задачами это run_id выполнения задачи. См. результаты работы get. Это обязательное поле. |
Структура ответа
Имя поля | Тип | Описание |
---|---|---|
notebook_output ИЛИ error |
NotebookOutput ИЛИ STRING |
Если указано notebook_output, выходные данные задачи записной книжки, если доступны. Задача записной книжки, которая завершается (успешно или с ошибкой) без вызоваdbutils.notebook.exit() считается пустыми выходными данными. Это поле будет set, но его результат будет пустым.При ошибке, появляется сообщение об ошибке, указывающее на причину недоступности выходных данных. Сообщение не структурировано, и его точный формат может измениться. |
metadata |
Выполнить | Все сведения о процессе выполнения, кроме сведений о выходных данных. |
Удаление процессов выполнения
Конечная точка | Метод HTTP |
---|---|
2.0/jobs/runs/delete |
POST |
Удаление неактивного процесса выполнения. Возвращает ошибку, если процесс выполнения активен.
Пример
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/delete \
--data '{ "run_id": <run-id> }'
Замена:
-
<databricks-instance>
именем экземпляра рабочей области Azure Databricks, напримерadb-1234567890123456.7.azuredatabricks.net
. -
<run-id>
на идентификатор процесса выполнения, например123
.
В этом примере используется файл .netrc.
Структура запроса
Имя поля | Тип | Описание |
---|---|---|
run_id |
INT64 |
Каноническое identifier выполнения, для которого извлекаются метаданные. |
Структуры данных
В этом разделе рассматриваются следующие вопросы.
- 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
Атрибуты set во время создания кластера, связанного с Azure.
Имя поля | Тип | Описание |
---|---|---|
first_on_demand |
INT32 |
Первые first_on_demand узлов кластера будут размещены на экземплярах по запросу. Это значение должно быть больше 0, иначе проверка создания кластера завершается неудачно. Если это значение больше или равно текущему размеру кластера, все узлы будут размещены на экземплярах по запросу. Если это значение меньше текущего размера кластера, first_on_demand узлов будут помещены в экземпляры по запросу, а остаток будет помещен в экземпляры доступности. Это значение не влияет на размер кластера и не может быть изменено в течение всего времени существования кластера. |
availability |
AzureAvailability | Тип доступности, используемый для всех последующих узлов после first_on_demand . |
spot_bid_max_price |
DOUBLE |
Максимальная цена на предложение, используемая для экземпляров точки Azure. Вы можете set это, чтобы оно было больше или равно текущей спотовой цене. Вы также можете установить set в -1 (по умолчанию), что указывает на то, что экземпляр не может быть вытеснен на основе цены. Цена экземпляра будет равна текущей цене на точечные экземпляры или цене на экземпляр категории "Стандартный". Вы можете просмотреть исторические цены и показатель частоты вытеснения на портале Azure. |
AzureAvailability
Поведение типа доступности экземпляра Azure.
Тип | Описание |
---|---|
SPOT_AZURE |
Использование точечных экземпляров. |
ON_DEMAND_AZURE |
Использование экземпляров по запросу. |
SPOT_WITH_FALLBACK_AZURE |
Предпочтительно использовать точечные экземпляры, но возвращаться к экземплярам по запросу, если не удается получить точечные (например, если цены на точечные экземпляры Azure слишком высоки или квоты исчерпаны). Не применяется к доступности пула. |
ClusterInstance
Идентификаторы для кластера и контекста Spark, используемые процессом выполнения. Эти два values вместе определяют контекст выполнения на всем протяжении времени.
Имя поля | Тип | Описание |
---|---|---|
cluster_id |
STRING |
Каноническое identifier для кластера, используемого выполнением. Это поле всегда доступно для процессов выполнения в существующих кластерах. Для процессов выполнения в новых кластерах оно становятся доступными после создания кластера. Это значение можно использовать для просмотра журналов, перейдя к /#setting/sparkui/$cluster_id/driver-logs . Журналы по-прежнему будут доступны по завершении процесса выполнения.Ответ не будет включать это поле, если identifier еще недоступен. |
spark_context_id |
STRING |
Каноническое значение identifier для контекста Spark, используемого при выполнении. Это поле будет заполнено после запуска процесса выполнения. Это значение можно использовать для просмотра пользовательского интерфейса Spark, перейдя к /#setting/sparkui/$cluster_id/$spark_context_id . Пользовательский интерфейс Spark будет по-прежнему доступен после завершения процесса выполнения.Ответ не будет включать это поле, если identifier еще недоступен. |
ClusterLogConf
Путь к журналу кластера.
Имя поля | Тип | Описание |
---|---|---|
dbfs |
Расположение DBFS журнала кластера. Необходимо указать назначение. Например: { "dbfs" : { "destination" : "dbfs:/home/cluster_log" } } |
ClusterSpec
Внимание
- При выполнении задания в новом кластере заданий оно рассматривается как рабочая (автоматизированная) нагрузка Jobs Compute с учетом цены Jobs Compute.
- При выполнении задания в существующем универсальном кластере оно обрабатывается как рабочая (интерактивная) нагрузка Универсальных вычислений с учетом цены этих вычислений.
Имя поля | Тип | Описание |
---|---|---|
existing_cluster_id ИЛИ new_cluster |
STRING ИЛИ NewCluster |
Если указано existing_cluster_id, идентификатор существующего кластера будет использоваться для всех процессов выполнения этого задания. При выполнении заданий в существующем кластере может потребоваться перезапустить кластер вручную, если он перестанет отвечать на запросы. Для улучшения надежности предлагается выполнять задания на новых кластерах. Если указано new_cluster, то для каждого процесса выполнения будет создано описание кластера. При указании PipelineTask это поле может быть пустым. |
libraries |
Массив библиотеки | Необязательный list библиотек, установленных в кластере, который выполнит задание. Значение по умолчанию — пустой list. |
ClusterTag
Определение тега кластера.
Тип | Описание |
---|---|
STRING |
Ключ тега. Ключ должен: — от 1 до 512 символов длиной — не содержит ни одного из символов <>%*&+?\\/ - Не начинается с azure , microsoft или windows |
STRING |
Значение тега. Длина значения должна быть не более 256 символов стандарта UTF-8. |
CronSchedule
Имя поля | Тип | Описание |
---|---|---|
quartz_cron_expression |
STRING |
Выражение cron с использованием синтаксиса Quartz, описывающее расписание для задания. Дополнительные сведения см. в разделе Триггер Cron. Это обязательное поле. |
timezone_id |
STRING |
Идентификатор Java timezone. График задания будет определен с учетом этого timezone. Дополнительные сведения см. в Java TimeZone. Это обязательное поле. |
pause_status |
STRING |
Укажите, приостановлено ли это расписание или нет. Либо “PAUSED” (ПРИОСТАНОВЛЕНО), либо “UNPAUSED” (НЕПРИОСТАНОВЛЕНО). |
DbfsStorageInfo
Сведения о хранилище DBFS.
Имя поля | Тип | Описание |
---|---|---|
destination |
STRING |
Назначение DBFS. Пример: dbfs:/my/path |
FileStorageInfo
Сведения о хранилище файлов.
Примечание.
Этот тип местоположения доступен только для кластеров set, используя Службы контейнеров Databricks.
Имя поля | Тип | Описание |
---|---|---|
destination |
STRING |
Место назначения файла. Пример: file:/my/file.sh |
InitScriptInfo
Путь к скрипту инициализации.
Инструкции по использованию скриптов инициализации со службами контейнеров Databricks см. в разделе Использование скрипта инициализации.
Примечание.
Тип хранилища файлов (имя поля: file
) доступен только для кластеров от set и выше, которые используют службы контейнеров Databricks . См . раздел FileStorageInfo.
Имя поля | Тип | Описание |
---|---|---|
workspace OR dbfs (не рекомендуется)ИЛИ abfss |
WorkspaceStorageInfo DbfsStorageInfo (не рекомендуется) ABFSStorageInfo |
Расположение рабочей области скрипта init. Необходимо указать назначение. Например,{ "workspace" : { "destination" : "/Users/someone@domain.com/init_script.sh" } } (не рекомендуется) Расположение скрипта инициализации DBFS. Необходимо указать назначение. Например, { "dbfs" : { "destination" : "dbfs:/home/init_script" } } Расположение скрипта init в Azure Data Lake Storage (ADLS). Необходимо указать назначение. Например: { "abfss": { "destination" : "abfss://..." } } |
Задание
Имя поля | Тип | Описание |
---|---|---|
job_id |
INT64 |
Каноническое identifier для этого задания. |
creator_user_name |
STRING |
Имя пользователя-создателя. Это поле не будет включено в ответ, если пользователь был уже удален. |
run_as |
STRING |
Имя пользователя, от имени которого будет выполняться задание.
run_as основан на текущих параметрах задания и set создателю задания, если управление доступом к заданию отключено, или разрешение is_owner , если включен контроль доступа к заданию. |
settings |
JobSettings | Параметры для этого задания и всех его процессов выполнения. Эти параметры можно обновить с помощью метода resetJob . |
created_time |
INT64 |
Время, когда задание было создано, выраженное в миллисекундах с начала эпохи (с начала эпохи UNIX 01.01.1970 UTC). |
JobEmailNotifications
Внимание
Поля on_start, on_success и on_failure принимают только латинские символы (setсимволов ASCII). При использовании не-ASCII символов, будет возвращена ошибка. Примерами недопустимых не-ASCII символов , являются китайские и японские иероглифы, а также эмодзи.
Имя поля | Тип | Описание |
---|---|---|
on_start |
Массив объектов STRING . |
list адресов электронной почты, которые будут получать уведомления, когда начинается запуск. Если при создании задания не указано resetили update, list пуст, и уведомления не отправляются. |
on_success |
Массив объектов STRING . |
list адресов электронной почты, которые необходимо уведомить при успешном завершении выполнения. Запуск считается успешно завершенным, если он заканчивается с помощью TERMINATED life_cycle_state a и a SUCCESSFUL result_state . Если при создании задания не указано resetили update, list пуст, и уведомления не отправляются. |
on_failure |
Массив объектов STRING . |
Количество адресов электронной почты list, которым следует отправить уведомление при неудачном завершении операции. Процесс выполнения считается завершенным неудачно, если он заканчивается со значением INTERNAL_ERROR life_cycle_state или SKIPPED , FAILED или TIMED_OUT result_state. Если это не указано при создании задания, resetили updatelist пусто, а уведомления не отправляются. |
on_duration_warning_threshold_exceeded |
Массив объектов STRING . |
list адресов электронной почты, которые необходимо уведомить, когда длительность выполнения превышает пороговое значение, указанное для метрики RUN_DURATION_SECONDS в поле health . Если в поле задания не указано RUN_DURATION_SECONDS правило для health метрики, уведомления не отправляются. |
no_alert_for_skipped_runs |
BOOL |
Если это правда, не отправляйте сообщение электронной почты в recipients, указанное в on_failure , если выполнение пропущено. |
Имя поля | Тип | Описание |
---|---|---|
on_start |
Массив веб-перехватчика | Необязательный параметр list системных адресатов, которым будут отправляться уведомления при начале выполнения. Если при создании задания не указано resetили update, list пуст, и уведомления не отправляются. Для свойства можно указать не более 3 назначений on_start . |
on_success |
Массив веб-перехватчика | Необязательный list пунктов назначения системы, которым будут отправляться уведомления о успешном завершении выполнения. Запуск считается успешно завершенным, если он заканчивается с помощью TERMINATED life_cycle_state a и a SUCCESSFUL result_state . Если при создании задания не указано resetили update, list пуст, и уведомления не отправляются. Для свойства можно указать не более 3 назначений on_success . |
on_failure |
Массив веб-перехватчика | Необязательный list мест назначения системы для уведомления в случае неудачного завершения выполнения. Процесс выполнения считается завершенным неудачно, если он заканчивается со значением INTERNAL_ERROR life_cycle_state или SKIPPED , FAILED или TIMED_OUT result_state. Если это не указано при создании задания, resetили updatelist пусто, а уведомления не отправляются. Для свойства можно указать не более 3 назначений on_failure . |
on_duration_warning_threshold_exceeded |
Массив веб-перехватчика | Необязательный list системных назначений, которые необходимо уведомить, когда длительность выполнения превышает пороговое значение, указанное для метрики RUN_DURATION_SECONDS в поле health . Для свойства можно указать не более 3 назначений on_duration_warning_threshold_exceeded . |
JobNotificationSettings
Имя поля | Тип | Описание |
---|---|---|
no_alert_for_skipped_runs |
BOOL |
Если значение true, не отправляйте уведомления в recipients, указанные в on_failure , если выполнение пропущено. |
no_alert_for_canceled_runs |
BOOL |
Если истина, не отправляйте уведомления в recipients, указанные в on_failure , если выполнение будет отменено. |
alert_on_last_attempt |
BOOL |
Если истина, не отправляйте уведомления на recipients, указанные в on_start для повторных попыток, и не отправляйте уведомления на recipients, указанные в on_failure , до тех пор, пока не выполнится последняя попытка. |
JobSettings
Внимание
- При выполнении задания в новом кластере заданий оно рассматривается как рабочая (автоматизированная) нагрузка Jobs Compute с учетом цены Jobs Compute.
- При выполнении задания в существующем универсальном кластере оно обрабатывается как рабочая (интерактивная) нагрузка Универсальных вычислений с учетом цены этих вычислений.
Параметры для задания. Эти параметры можно обновить с помощью метода resetJob
.
Имя поля | Тип | Описание |
---|---|---|
existing_cluster_id ИЛИ new_cluster |
STRING ИЛИ NewCluster |
Если указано existing_cluster_id, идентификатор существующего кластера будет использоваться для всех процессов выполнения этого задания. При выполнении заданий в существующем кластере может потребоваться перезапустить кластер вручную, если он перестанет отвечать на запросы. Для улучшения надежности предлагается выполнять задания на новых кластерах. Если указано new_cluster, то для каждого процесса выполнения будет создано описание кластера. При указании PipelineTask это поле может быть пустым. |
notebook_task ИЛИ ИЛИ spark_jar_task spark_python_task ИЛИ ИЛИ spark_submit_task pipeline_task ИЛИ run_job_task |
NotebookTaskOR SparkJarTask OR SparkPythonTask OR SparkSubmitTask OR PipelineTaskOR RunJobTask | Если указано notebook_task, это задание должно запускать записную книжку. Это поле не указывается вместе с spark_jar_task. Если указано spark_jar_task, это задание должно запускать JAR-файл. Если указано spark_python_task, это задание должно запускать файл Python. Если указано spark_submit_task, это задание должно запускаться сценарием spark-submit. Если pipeline_task, указывает, что это задание должно запускать конвейер Delta Live Tables. Если run_job_task, указывает, что это задание должно выполнять другое задание. |
name |
STRING |
Имя задания (необязательно). Значение по умолчанию — Untitled . |
libraries |
Массив библиотеки | Необязательный list библиотек, установленных в кластере, который выполнит задание. Значение по умолчанию — пустой list. |
email_notifications |
JobEmailNotifications | Необязательный set адресов электронной почты, которые будут получать уведомления при начале или завершении этого задания, а также при его удалении. По умолчанию уведомления по электронной почте не рассылаются. |
webhook_notifications |
WebhookNotifications | Необязательный набор set системных адресатов для уведомления о начале, завершении или сбое выполнения этого задания. |
notification_settings |
JobNotificationSettings | Необязательные параметры уведомлений, используемые при отправке уведомлений в каждое из заданий email_notifications и webhook_notifications для этого задания. |
timeout_seconds |
INT32 |
Время ожидания (необязательно), применяемое к каждому процессу выполнения этого задания. По умолчанию — без времени ожидания. |
max_retries |
INT32 |
Максимальное количество попыток при неудачном выполнении. Процесс выполнения считается неудачным, если он завершается с состоянием result_state FAILED илиINTERNAL_ERROR life_cycle_state . Значение -1 означает неопределенное количество повторений, а 0 — без повторов. По умолчанию: без повторов. |
min_retry_interval_millis |
INT32 |
Минимальный интервал (необязательно) в миллисекундах между попытками. По умолчанию: неудачные процессы выполнения повторяются немедленно. |
retry_on_timeout |
BOOL |
Политика (необязательно), указывающая, следует ли повторять задание по истечении времени ожидания. По умолчанию — не делать попытку по истечении времени ожидания. |
schedule |
CronSchedule | Расписание (необязательно) с периодическим выполнением этого задания. По умолчанию: задание будет запускаться только при нажатии кнопки «Запустить сейчас» в пользовательском интерфейсе заданий или отправкой запроса API вrunNow . |
max_concurrent_runs |
INT32 |
Максимально допустимое количество (необязательно) параллельных процессов выполнения задания. Set это значение, если вы хотите одновременно выполнять несколько запусков одного задания. Это полезно, например, если вы запускаете задание по частому расписанию и хотите разрешить последовательным запускам перекрываться друг с другом, или если вы хотите запускать несколько запусков, которые отличаются по входным данным parameters. Этот параметр влияет только на новые запуски. Например, предположим, что параллелизм задания равен 4, и существует 4 параллельных активных процесса выполнения. После этого установка для параллелизма значения 3 не приведет к уничтожению активных процессов выполнения. Однако после этого новые процессы выполнения будут пропускаться, пока не будет достигнуто не более 3 активных процессов. Значение не должно превышать 1000. Если это значение равно 0, все новые процессы выполнения пропускаются. По умолчанию: разрешить только 1 параллельный процесс выполнения. |
health |
JobsHealthRules | Необязательные правила охраны здоровья, определенные для работы, set. |
JobTask
Имя поля | Тип | Описание |
---|---|---|
notebook_task ИЛИ ИЛИ spark_jar_task spark_python_task ИЛИ ИЛИ spark_submit_task pipeline_task ИЛИ run_job_task |
NotebookTaskOR SparkJarTask OR SparkPythonTask OR SparkSubmitTask OR PipelineTaskOR RunJobTask | Если указано notebook_task, это задание должно запускать записную книжку. Это поле не указывается вместе с spark_jar_task. Если указано spark_jar_task, это задание должно запускать JAR-файл. Если указано spark_python_task, это задание должно запускать файл Python. Если указано spark_submit_task, это задание должно запускаться сценарием spark-submit. Если pipeline_task, указывает, что это задание должно запускать конвейер Delta Live Tables. Если run_job_task, указывает, что это задание должно выполнять другое задание. |
JobsHealthRule
Имя поля | Тип | Описание |
---|---|---|
metric |
STRING |
Указывает метрику работоспособности, которая вычисляется для определенного правила работоспособности. Допустимые values являются RUN_DURATION_SECONDS . |
operator |
STRING |
Указывает оператор, используемый для сравнения значения метрик работоспособности с указанным пороговым значением. Допустимые values являются GREATER_THAN . |
value |
INT32 |
Указывает пороговое значение, которое метрика работоспособности должна соответствовать правилу работоспособности. |
JobsHealthRules
Имя поля | Тип | Описание |
---|---|---|
rules |
Массив JobsHealthRule | Необязательный set правил охраны здоровья, которые можно определить для работы. |
Библиотека
Имя поля | Тип | Описание |
---|---|---|
jar ИЛИ ИЛИ egg ИЛИ whl pypi ИЛИ ИЛИ 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 . |
Группа зависимостей List, которую следует исключить. Например: ["slf4j:slf4j", "*:hadoop-client"] .Исключения зависимостей Maven: https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html. |
NewCluster
Имя поля | Тип | Описание |
---|---|---|
num_workers ИЛИ autoscale |
INT32 ИЛИ AutoScale |
Если указано num_workers, это количество рабочих узлов, которые должен иметь этот кластер. В кластере присутствует один драйвер Spark и исполнители num_workers для общего числа узлов: num_workers + 1 Spark. Примечание. при чтении свойств кластера это поле отражает необходимое количество рабочих ролей, но не текущее количество. Например, если размер кластера изменяется с 5 до 10 рабочих ролей, это поле будет немедленно обновлено, чтобы отразить целевой размер 10 рабочих ролей, а рабочие роли, перечисленные в spark_info, постепенно увеличиваются с 5 до 10 по мере подготовки новых узлов. Если автоматическое масштабирование, parameters необходимы для автоматического масштабирования кластеров для их увеличения и уменьшения на основе нагрузки. |
spark_version |
STRING |
Версия Spark кластера. list доступных версий Spark можно получить с помощью вызова GET 2.0/clusters/spark-versions. Это обязательное поле. |
spark_conf |
SparkConfPair | Объект, содержащий set необязательных, заданных пользователем пар ключ-значение конфигурации Spark. Кроме того, можно передать строку дополнительных параметров JVM драйверу и исполнителям черезspark.driver.extraJavaOptions и spark.executor.extraJavaOptions соответственно.Пример конфигураций Spark: {"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} или{"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"} |
node_type_id |
STRING |
Используя отдельное значение, это поле кодирует доступные ресурсы для каждого узла Spark в этом кластере. Например, узлы Spark можно подготовить и оптимизировать для рабочих нагрузок, интенсивных по памяти или вычислениям. Список доступных типов узлов list можно получить с помощью вызова GET 2.0/clusters/list-node-types. Это поле, поле или политика кластера, instance_pool_id указывающая идентификатор типа узла или идентификатор пула экземпляров, является обязательным. |
driver_node_type_id |
STRING |
Тип узла драйвера Spark. Это поле является необязательным; если не задано, тип узла драйвера устанавливается в set, как и node_type_id , определенный выше. |
custom_tags |
ClusterTag | Объект, содержащий set тегов для ресурсов кластера. В дополнение к default_tags Databricks помечает этими тегами все кластерные ресурсы (например, виртуальные машины). Примечание. — Теги не поддерживаются в устаревших типах узлов, таких как оптимизированные для вычислений и оптимизированные для памяти. — Databricks разрешает не более 45 пользовательских тегов |
cluster_log_conf |
ClusterLogConf | Конфигурация доставки журналов Spark в долгосрочное место хранения. Для одного кластера можно указать только одно назначение. Если для conf задано значение, журналы будут доставляться в место назначения каждые 5 mins . Место назначения журналов драйверов — <destination>/<cluster-id>/driver , а место назначения журналов исполнителя — <destination>/<cluster-id>/executor . |
init_scripts |
Массив InitScriptInfo | Конфигурация для хранения скриптов инициализации. Можно указать любое количество скриптов. Скрипты выполняются последовательно в указанном порядке. Если для cluster_log_conf задано значение, журналы скриптов инициализации будут отправляться в<destination>/<cluster-id>/init_scripts . |
spark_env_vars |
SparkEnvPair | Объект, содержащий set необязательных пар ключ-значение переменных среды, заданных пользователем. Пара "ключ-значение" в виде (X, Y) экспортируется как есть (т. е.export X='Y' ) при запуске драйвера и рабочих ролей.Чтобы указать дополнительные set из SPARK_DAEMON_JAVA_OPTS , рекомендуется добавить их в $SPARK_DAEMON_JAVA_OPTS , как показано в следующем примере. Кроме того, это гарантирует, что будут включены все управляемые переменные среды Databricks, используемые по умолчанию.Примеры переменных среды Spark: {"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"} или{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"} |
enable_elastic_disk |
BOOL |
Автоматическое масштабирование локального хранилища: если включено, этот кластер динамически получает дополнительное место на диске, когда на его работающих рабочих ролях Spark заканчивается свободное место. Дополнительные сведения см. в статье "Включение автоматического масштабирования локального хранилища ". |
driver_instance_pool_id |
STRING |
Идентификатор (необязательно) пула экземпляров, используемый для узла драйвера. Необходимо также указать instance_pool_id . Дополнительные сведения см. в API пулов экземпляров. |
instance_pool_id |
STRING |
Необязательный идентификатор пула экземпляров, используемый для узлов кластеров. При наличии driver_instance_pool_id ,instance_pool_id используется только для рабочих узлов. В противном случае он используется как для узла драйвера, так и для рабочих узлов. Дополнительные сведения см. в API пулов экземпляров. |
NotebookOutput
Имя поля | Тип | Описание |
---|---|---|
result |
STRING |
Значение, передаваемое в функцию dbutils.notebook.exit(). Azure Databricks ограничивает этот интерфейс API, чтобы он возвращал первые 1 МБ от значения. Если результат большего размера, задание может сохранять результаты в службе облачного хранения. Это поле будет отсутствовать, если функция dbutils.notebook.exit() никогда не вызывалась. |
truncated |
BOOLEAN |
Указывает, был ли результат усечен. |
NotebookTask
Размер всех выходных данных ячеек зависит от размера 8 МБ. Если выходные данные ячейки имеют больший размер, остальная часть процесса выполнения будет отменена, а процесс будет отмечен как неудачный. В этом случае может также отсутствовать некоторая часть выходных данных содержимого других ячеек.
Если вам нужна помощь в поиске ячейки, которая находится за пределами limit, запустите записную книжку в универсальном кластере и используйте метод автосохранения в записной книжке.
Имя поля | Тип | Описание |
---|---|---|
notebook_path |
STRING |
Абсолютный путь записной книжки, которая будет запущена в рабочей области Azure Databricks. Этот путь должен начинаться с косой черты. Это обязательное поле. |
revision_timestamp |
LONG |
Метка времени редакции записной книжки. |
base_parameters |
Сопоставление ParamPair | База parameters будет использоваться для каждого запуска этого задания. Если запуск инициируется вызовом run-now при указании parameters, две карты parameters будут объединены. Если один и тот же ключ указан в base_parameters и в run-now , будет использоваться значение из run-now .Используйте Что такое ссылка на динамическое значение?setparameters содержат сведения о выполнении задания. Если записная книжка принимает параметр, не указанный в base_parameters задания или переопределении run-now parameters, будет использоваться значение по умолчанию из записной книжки.Получите эти parameters в блокноте с помощью dbutils.widgets.get. |
ParamPair
parameters на основе имен для заданий, выполняющих задачи записной книжки.
Внимание
Поля в этой структуре данных принимают только латинские символы (символы ASCII set). При использовании не-ASCII символов, будет возвращена ошибка. Примерами недопустимых не-ASCII символов , являются китайские и японские иероглифы, а также эмодзи.
Тип | Описание |
---|---|
STRING |
Имя параметра. Передайте в dbutils.widgets.get для получения значения. |
STRING |
Значение параметра. |
PipelineTask
Имя поля | Тип | Описание |
---|---|---|
pipeline_id |
STRING |
Полное имя задачи конвейера Delta Live Tables для выполнения. |
PythonPyPiLibrary
Имя поля | Тип | Описание |
---|---|---|
package |
STRING |
Имя устанавливаемого пакета PyPi. Также поддерживается необязательная точная спецификация версии. Примерами являются события simplejson и simplejson==3.8.0 . Это обязательное поле. |
repo |
STRING |
Репозиторий пакета where можно найти. Если он не указан, используется индекс PIP по умолчанию. |
RCranLibrary
Имя поля | Тип | Описание |
---|---|---|
package |
STRING |
Имя устанавливаемого пакета CRAN. Это обязательное поле. |
repo |
STRING |
Репозиторий пакета where можно найти. Если он не указан, используется индекс CRAN по умолчанию. |
Процесс выполнения
Все сведения о процессе выполнения, кроме его выходных данных. Выходные данные можно получить отдельно с помощью метода getRunOutput
.
Имя поля | Тип | Описание |
---|---|---|
job_id |
INT64 |
Каноническое identifier задания, содержащего этот запуск. |
run_id |
INT64 |
Каноническое identifier запуска. Этот идентификатор уникален для всех процессов выполнения всех заданий. |
creator_user_name |
STRING |
Имя пользователя-создателя. Это поле не будет включено в ответ, если пользователь был уже удален. |
number_in_job |
INT64 |
Порядковый номер этого процесса среди всех процессов выполнений задания. Это значение начинается с 1. |
original_attempt_run_id |
INT64 |
Если этот процесс выполнения является повторением предыдущей попытки запуска процесса, это поле содержит run_id исходного процесса, в противном случае он совпадает с run_id. |
state |
RunState | Результат и состояния жизненного цикла процесса выполнения. |
schedule |
CronSchedule | Расписание службы cron, запускающей этот процесс выполнения, если он был запущен планировщиком периодических процессов. |
task |
JobTask | Задача, выполняемая процессом выполнения, при наличии. |
cluster_spec |
ClusterSpec | Моментальный снимок спецификации кластера задания при создании этого процесса выполнения. |
cluster_instance |
ClusterInstance | Кластер, используемый для этого процесса выполнения. Если запуск указан для использования нового кластера, это поле будет set после того, как служба заданий запросила кластер для запуска. |
overriding_parameters |
RunParameters | parameters, используемый для этого запуска. |
start_time |
INT64 |
Время создания этого процесса выполнения, выраженное в миллисекундах с начала эпохи (с начала эпохи UNIX 01.01.1970 UTC). Это может быть не тем временем, когда задача задания начинает выполнение, например, если задание планируется запускать в новом кластере, это время вызова создания кластера. |
setup_duration |
INT64 |
Время, затраченное на выполнение set в кластере, в миллисекундах. Для процессов выполнения, выполняемых в новых кластерах это время создания кластера, для процессов выполнения в существующих кластерах это время должно быть очень коротким. |
execution_duration |
INT64 |
Время в миллисекундах, затраченное на выполнение команд в JAR-файле или записной книжке, пока они не были завершены, завершились сбоем, истекло время ожидания, было отменено или произошла непредвиденная ошибка. |
cleanup_duration |
INT64 |
Время в миллисекундах, затраченное на завершение работы кластера и очистку связанных артефактов. Общая длительность процесса выполнения — это сумма значений для параметров setup_duration, execution_duration и cleanup_duration. |
end_time |
INT64 |
Время завершения этого процесса выполнения, выраженное в миллисекундах с начала эпохи (с начала эпохи UNIX 01.01.1970 UTC). Это поле будет иметь значение от set до 0, если задание все еще выполняется. |
trigger |
TriggerType | Тип триггера, запустившего этот процесс выполнения. |
run_name |
STRING |
Имя выполнения (необязательно). Значение по умолчанию — Untitled . Максимально допустимая длина — 4096 байт в кодировке UTF-8. |
run_page_url |
STRING |
URL-адрес страницы сведений о процессе выполнения. |
run_type |
STRING |
Тип процесса выполнения. - JOB_RUN - Нормальный процесс выполнения задания. Процесс выполнения, созданный нажатием кнопки Запустить сейчас.- WORKFLOW_RUN - Процесс выполнения рабочего процесса. Процесс выполнения, созданный с помощью метода dbutils.notebook.run.- SUBMIT_RUN - Отправить процесс выполнения. Процесс выполнения, созданный нажатием кнопки Запустить сейчас. |
attempt_number |
INT32 |
Порядковый номер попытки запуска процесса выполнения запущенного задания. Начальная попытка запуска процесса выполнения имеет attempt_number = 0. Если начальная попытка запуска процесса выполнения завершается неудачно, и в задании установлена политика повтора (max_retries > 0), последующие процессы выполнения создаются с параметром original_attempt_run_id идентификатора исходной попытки и приращением attempt_number . Повторные попытки процессов выполнения делаются только до тех пор, пока они не завершатся удачно, а максимальное значение attempt_number совпадает со значением max_retries для задания. |
RunJobTask
Имя поля | Тип | Описание |
---|---|---|
job_id |
INT32 |
Уникальный идентификатор identifier задания для выполнения. Это обязательное поле. |
RunLifeCycleState
Состояние жизненного цикла процесса выполнения. Допустимые переходы состояний:
-
QUEUED
->PENDING
-
PENDING
- - ->RUNNING
>TERMINATING
>TERMINATED
-
PENDING
->SKIPPED
-
PENDING
->INTERNAL_ERROR
-
RUNNING
->INTERNAL_ERROR
-
TERMINATING
->INTERNAL_ERROR
State | Описание |
---|---|
QUEUED |
Запуск активируется, но выполняется в очередь, так как он достиг одного из следующих ограничений: — максимальное число параллельных активных запусков в рабочей области. — Максимальная параллельная Run Job задача выполняется в рабочей области.— максимальное число одновременных запусков задания. Задание или выполнение должны включить очередь, прежде чем она сможет достичь этого состояния. |
PENDING |
Процесс выполнения запущен. Если настроено максимальное число одновременных запусков задания уже достигнуто, выполнение немедленно перейдет в SKIPPED состояние без подготовки ресурсов. В противном случае подготовка кластера и выполнение выполняется. |
RUNNING |
Выполняется задача этого процесса выполнения. |
TERMINATING |
Задача этого процесса выполнения завершена, выполняется очистка кластера и контекста выполнения. |
TERMINATED |
Задача этого процесса выполнения завершена, кластер и контекст выполнения были очищены. Это состояние — завершение. |
SKIPPED |
Этот процесс выполнения был прерван, так как предыдущий процесс этого же задания уже был активен. Это состояние — завершение. |
INTERNAL_ERROR |
Исключительное состояние, указывающее на сбой в службе заданий, например на сбой сети в течение длительного периода. Если процесс выполнения в новом кластере завершается в состоянии INTERNAL_ERROR , служба заданий будет в кратчайший срок завершать работу кластера. Это состояние — завершение. |
RunParameters
Parameters для этого запуска. В запросе python_params
должен быть указан только один параметр из следующих: jar_params или notebook_params — в зависимости от типа задачи задания.run-now
Задания с задачей Spark JAR или задачей Python принимают listparametersна основе позиций, а задания с задачами записной книжки принимают карту значений ключа.
Имя поля | Тип | Описание |
---|---|---|
jar_params |
Массив объектов STRING . |
list, parameters для заданий с задачами Spark JAR, например "jar_params": ["john doe", "35"] .
parameters будет использоваться для вызова главной функции основного класса, указанного в задаче Spark JAR. Если значение не указано при run-now , по умолчанию используется пустая list. jar_params запрещено указывать вместе с notebook_params. Представление JSON этого поля (т. е. {"jar_params":["john doe","35"]} ) не может превышать 10 000 байт.Используйте Что такое ссылка на динамическое значение?setparameters содержат сведения о выполнении задания. |
notebook_params |
Сопоставление ParamPair | Сопоставление ключей с values к заданиям с задачей записной книжки."notebook_params": {"name": "john doe", "age": "35"} . Карта передается в записную книжку и доступна через функцию dbutils.widgets.get.Если не указано при run-now , запуск использует основную parametersзадания.Параметр notebook_params запрещено указывать вместе с параметром jar_params. Используйте Что такое ссылка на динамическое значение?setparameters содержат сведения о выполнении задания. Представление JSON этого поля (т. е. {"notebook_params":{"name":"john doe","age":"35"}} ) не может превышать 10 000 байт. |
python_params |
Массив объектов STRING . |
Для listparameters вакансий с задачами на Python, например "python_params": ["john doe", "35"] .
parameters передаются в файл Python в виде parametersкомандной строки. При указании run-now он перезаписывает parameters, указанный в параметре задания. Представление JSON этого поля (т. е. {"python_params":["john doe","35"]} ) не может превышать 10 000 байт.Используйте Что такое ссылка на динамическое значение?setparameters содержат сведения о выполнении задания. Эти parameters принимают только латинские символы, такие как символ ASCII set. При использовании не-ASCII символов, будет возвращена ошибка. Примерами недопустимых не-ASCII символов , являются китайские и японские иероглифы, а также эмодзи. |
spark_submit_params |
Массив объектов STRING . |
list из parameters для заданий с задачей запуска spark-submit, например."spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"] .
parameters передаются через командную строку скрипту spark-submit как parameters. При указании run-now он перезаписывает parameters, указанный в параметре задания. Представление JSON этого поля (т. е. {"python_params":["john doe","35"]} ) не может превышать 10 000 байт.Используйте Что такое ссылка на динамическое значение?setparameters содержат сведения о выполнении задания. Эти parameters принимают только латинские символы, такие как символ ASCII set. При использовании не-ASCII символов, будет возвращена ошибка. Примерами недопустимых не-ASCII символов , являются китайские и японские иероглифы, а также эмодзи. |
RunResultState
Состояние результата процесса выполнения.
- Если
life_cycle_state
=TERMINATED
: если процесс выполнения содержал задачу, результат будет гарантированно доступен, и это указывает на результат выполнения задачи. - Если
life_cycle_state
=PENDING
,RUNNING
илиSKIPPED
, состояние результата недоступно. - Если
life_cycle_state
=TERMINATING
или lifecyclestate =INTERNAL_ERROR
: состояние результата доступно, если процесс выполнения содержит задачу и управляется для запуска.
После того, как состояние результата становится доступным, оно никогда не изменяется.
State | Описание |
---|---|
SUCCESS |
Задача успешно завершена. |
FAILED |
Задача завершена с ошибкой. |
TIMEDOUT |
Процесс выполнения был остановлен по истечению времени ожидания. |
CANCELED |
Процесс выполнения был отменен по запросу пользователя. |
RunState
Имя поля | Тип | Описание |
---|---|---|
life_cycle_state |
RunLifeCycleState | Описание текущего расположения процесса выполнения в его жизненном цикле. Это поле всегда доступно в ответе. |
result_state |
RunResultState | Состояние результата процесса выполнения. Если он недоступен, ответ не будет включать это поле. Дополнительные сведения о доступности состояния result_state см. RunResultState. |
user_cancelled_or_timedout |
BOOLEAN |
Указывает, был ли процесс выполнения отменен вручную пользователем или планировщиком, так как время выполнения истекло. |
state_message |
STRING |
Описательное сообщение для текущего состояния. Это поле не структурировано, и его точный формат может измениться. |
SparkConfPair
Пары "ключ-значение" конфигурации Spark.
Тип | Описание |
---|---|
STRING |
Имя свойства конфигурации. |
STRING |
Значение свойства конфигурации. |
SparkEnvPair
Пары "ключ-значение" переменной среды Spark.
Внимание
При указании переменных среды в кластере заданий поля в этой структуре данных принимают только латинские символы (символ ASCII set). При использовании не-ASCII символов, будет возвращена ошибка. Примерами недопустимых не-ASCII символов , являются китайские и японские иероглифы, а также эмодзи.
Тип | Описание |
---|---|
STRING |
Имя переменной среды. |
STRING |
Значение переменной среды. |
SparkJarTask
Имя поля | Тип | Описание |
---|---|---|
jar_uri |
STRING |
Не рекомендуется с апреля 2016 г. Вместо этого предоставьте jar с помощью поля libraries . Пример см. в пункте Создать. |
main_class_name |
STRING |
Полное имя класса, содержащего метод main, который будет выполнен. Этот класс должен содержаться в файле JAR, предоставляемом в виде библиотеки. Код должен использовать SparkContext.getOrCreate для получения контекста Spark; в противном случае процессы выполнения задания завершится ошибкой. |
parameters |
Массив объектов STRING . |
Parameters был передан в основной метод. Используйте Что такое ссылка на динамическое значение?setparameters содержат сведения о выполнении задания. |
SparkPythonTask
Имя поля | Тип | Описание |
---|---|---|
python_file |
STRING |
URI файла Python, который будет выполнен. Поддерживаются только пути DBFS. Это обязательное поле. |
parameters |
Массив объектов STRING . |
Командная строка parameters передана в файл Python. Используйте Что такое ссылка на динамическое значение?setparameters содержат сведения о выполнении задания. |
SparkSubmitTask
Внимание
- Вы можете вызывать задачи spark-submit только в новых кластерах.
- В спецификации new_cluster,
libraries
иspark_conf
не поддерживаются. Вместо этого используйте--jars
и--py-files
для добавления библиотек Java и Python и--conf
для set конфигурации Spark. -
master
,deploy-mode
иexecutor-cores
автоматически настраиваются Azure Databricks; вы не можете указать их в parameters. - По умолчанию для задания spark-submit используется вся доступная память (кроме зарезервированной памяти для служб Azure Databricks). Вы можете уменьшить set
--driver-memory
и--executor-memory
до меньшего значения, чтобы освободить некоторое место для использования вне кучи. - Аргументы
--jars
,--py-files
,--files
поддерживают пути DBFS.
Например, если JAR-файл загружен в DBFS, можно запустить SparkPi
, установив следующие параметры parameters.
{
"parameters": [
"--class",
"org.apache.spark.examples.SparkPi",
"dbfs:/path/to/examples.jar",
"10"
]
}
Имя поля | Тип | Описание |
---|---|---|
parameters |
Массив объектов STRING . |
Командная строка parameters передана в spark submit. Используйте Что такое ссылка на динамическое значение?setparameters содержат сведения о выполнении задания. |
TriggerType
Это типы триггеров, которые могут запускать процесс выполнения.
Тип | Описание |
---|---|
PERIODIC |
Расписания, которые периодически инициируют процессы выполнения, например планировщик cron. |
ONE_TIME |
Триггеры инициируют однократный запуск процесса выполнения. Это происходит при запуске одного процесса выполнения по запросу с помощью пользовательского интерфейса или API. |
RETRY |
Указывает на процесс выполнения, который запускается в качестве повторной попытки ранее неудавшегося процесса выполнения. Это происходит, при запросе на повторный запуск задания в случае ошибки. |
ViewItem
Экспортированное содержимое имеет формат HTML. Например, если представлением для экспорта является панели мониторинга, то для каждой такой панели возвращается одна строка HTML.
Имя поля | Тип | Описание |
---|---|---|
content |
STRING |
Содержимое представления. |
name |
STRING |
Имя элемента представления. Для представления кода это имя записной книжки. Для представления панели мониторинга это имя панели мониторинга. |
type |
ViewType | Тип элемента представления. |
ViewType
Тип | Описание |
---|---|
NOTEBOOK |
Элемент представления записной книжки. |
DASHBOARD |
Элемент представления панели мониторинга. |
ViewsToExport
Представление для экспорта: либо код, все панели мониторинга, либо все.
Тип | Описание |
---|---|
CODE |
Представление кода записной книжки. |
DASHBOARDS |
Все панели управления views ноутбука. |
ALL |
Все views страницы записной книжки. |
Веб-перехватчик
Имя поля | Тип | Описание |
---|---|---|
id |
STRING |
Identifier в качестве ссылки на пункт назначения системного уведомления. Это обязательное поле. |
WebhookNotifications
Имя поля | Тип | Описание |
---|---|---|
on_start |
Массив веб-перехватчика | Необязательный параметр list системных адресатов, которым будут отправляться уведомления при начале выполнения. Если при создании задания не указано resetили update, list пуст, и уведомления не отправляются. Для свойства можно указать не более 3 назначений on_start . |
on_success |
Массив веб-перехватчика | Необязательный list пунктов назначения системы, которым будут отправляться уведомления о успешном завершении выполнения. Запуск считается успешно завершенным, если он заканчивается с помощью TERMINATED life_cycle_state a и a SUCCESSFUL result_state . Если при создании задания не указано resetили update, list пуст, и уведомления не отправляются. Для свойства можно указать не более 3 назначений on_success . |
on_failure |
Массив веб-перехватчика | Необязательный list мест назначения системы для уведомления в случае неудачного завершения выполнения. Процесс выполнения считается завершенным неудачно, если он заканчивается со значением INTERNAL_ERROR life_cycle_state
SKIPPED
FAILED или , или TIMED_OUT result_state . Если это не указано при создании задания, resetили updatelist пусто, а уведомления не отправляются. Для свойства можно указать не более 3 назначений on_failure . |
on_duration_warning_threshold_exceeded |
Массив веб-перехватчика | Необязательный list системных назначений, которые необходимо уведомить, когда длительность выполнения превышает пороговое значение, указанное для метрики RUN_DURATION_SECONDS в поле health . Для свойства можно указать не более 3 назначений on_duration_warning_threshold_exceeded . |
WorkspaceStorageInfo
Сведения о хранилище рабочей области.
Имя поля | Тип | Описание |
---|---|---|
destination |
STRING |
Место назначения файла. Пример: /Users/someone@domain.com/init_script.sh |