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


Руководство по API разностных динамических таблиц

Внимание

Содержимое этой статьи прекращено и может быть не обновлено. См. статью " Разностные динамические таблицы " в справочнике по REST API Databricks.

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

Внимание

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

Создание конвейера

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

Создает новый конвейер разностных динамических таблиц.

Пример

В этом примере создается новый конвейер с триггером.

Запросить

curl --netrc -X POST \
https://<databricks-instance>/api/2.0/pipelines \
--data @pipeline-settings.json

pipeline-settings.json:

{
  "name": "Wikipedia pipeline (SQL)",
  "storage": "/Users/username/data",
  "clusters": [
    {
      "label": "default",
      "autoscale": {
        "min_workers": 1,
        "max_workers": 5,
        "mode": "ENHANCED"
      }
    }
  ],
  "libraries": [
    {
      "notebook": {
        "path": "/Users/username/DLT Notebooks/Delta Live Tables quickstart (SQL)"
      }
    }
  ],
  "continuous": false
}

Замена:

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

Response

{
  "pipeline_id": "a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5"
}

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

См. PipelineSettings.

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

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

Изменение конвейера

Конечная точка Метод HTTP
2.0/pipelines/{pipeline_id} PUT

Обновляет параметры существующего конвейера.

Пример

В этом примере в конвейер добавляется параметр target с идентификатором a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5.

Запросить

curl --netrc -X PUT \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5 \
--data @pipeline-settings.json

pipeline-settings.json

{
  "id": "a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5",
  "name": "Wikipedia pipeline (SQL)",
  "storage": "/Users/username/data",
  "clusters": [
    {
      "label": "default",
      "autoscale": {
        "min_workers": 1,
        "max_workers": 5,
        "mode": "ENHANCED"
      }
    }
  ],
  "libraries": [
    {
      "notebook": {
        "path": "/Users/username/DLT Notebooks/Delta Live Tables quickstart (SQL)"
      }
    }
  ],
  "target": "wikipedia_quickstart_data",
  "continuous": false
}

Замена:

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

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

См. PipelineSettings.

Удаление конвейера

Конечная точка Метод HTTP
2.0/pipelines/{pipeline_id} DELETE

Удаляет конвейер из системы разностных динамических таблиц.

Пример

В этом примере удаляется конвейер с идентификатором a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5.

Запросить

curl --netrc -X DELETE \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5

Замена:

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

Запуск обновления конвейера

Конечная точка Метод HTTP
2.0/pipelines/{pipeline_id}/updates POST

Запускает обновление для конвейера. Обновление можно запустить для всего графа конвейера или для определенных таблиц.

Примеры

Запуск полного обновления

В этом примере запускается полное обновление для конвейера с идентификатором a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5.

Запросить
curl --netrc -X POST \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5/updates \
--data '{ "full_refresh": "true" }'

Замена:

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

Response
{
  "update_id": "a1b23c4d-5e6f-78gh-91i2-3j4k5lm67no8",
  "request_id": "a1b23c4d-5e6f-78gh-91i2-3j4k5lm67no8"
}

Запуск обновления выбранных таблиц

В этом примере запускается обновление таблиц sales_orders_cleaned и sales_order_in_chicago в конвейере с идентификатором a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5:

Запросить
curl --netrc -X POST \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5/updates \
--data '{ "refresh_selection": ["sales_orders_cleaned", "sales_order_in_chicago"] }'

Замена:

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

Response
{
  "update_id": "a1b23c4d-5e6f-78gh-91i2-3j4k5lm67no8",
  "request_id": "a1b23c4d-5e6f-78gh-91i2-3j4k5lm67no8"
}

Запуск полного обновления выбранных таблиц

В этом примере запускается обновление таблиц sales_orders_cleaned и sales_order_in_chicago, а также полное обновление таблиц customers и sales_orders_raw в конвейере с идентификатором a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5.

Запросить
curl --netrc -X POST \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5/updates \
--data '{ "refresh_selection": ["sales_orders_cleaned", "sales_order_in_chicago"], "full_refresh_selection": ["customers", "sales_orders_raw"] }'

Замена:

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

Response
{
  "update_id": "a1b23c4d-5e6f-78gh-91i2-3j4k5lm67no8",
  "request_id": "a1b23c4d-5e6f-78gh-91i2-3j4k5lm67no8"
}

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

Имя поля Тип Описание
full_refresh BOOLEAN Указывает, следует ли повторно обрабатывать все данные. Если используется значение true, система Delta Live Tables сбрасывает все таблицы, которые можно сбросить, перед запуском конвейера.

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

Значение по умолчанию — false.

Если full_refesh имеет значение true и задано поле refresh_selection или full_refresh_selection, возвращается ошибка.
refresh_selection Массив объектов STRING. Список обновляемых таблиц. Использование
refresh_selection, чтобы запустить обновление выбранного набора таблиц в графе конвейера.

Это поле необязательно. Если поля
refresh_selection И
full_refresh_selection пусты, обновляется весь граф конвейера.

Если возвращается ошибка:

* full_refesh имеет значение true, и
Свойство refresh_selection задано.
* Одна или несколько указанных таблиц отсутствуют в графе конвейера.
full_refresh_selection Массив объектов STRING. Список таблиц для полного обновления. Используйте full_refresh_selection для запуска обновления выбранного набора таблиц. Состояние указанных таблиц сбрасывается до запуска обновления системой Delta Live Tables.

Это поле необязательно. Если поля
refresh_selection И
full_refresh_selection пусты, обновляется весь граф конвейера.

Если возвращается ошибка:

* full_refesh имеет значение true, и
Свойство refresh_selection задано.
* Одна или несколько указанных таблиц отсутствуют в графе конвейера.
* Одну или несколько указанных таблиц невозможно сбросить.

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

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

Получение состояния запроса на обновление конвейера

Конечная точка Метод HTTP
2.0/pipelines/{pipeline_id}/requests/{request_id} GET

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

Пример

Для конвейера с идентификатором a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5в этом примере возвращается состояние и сведения об обновлении, связанном с идентификатором a83d9f7c-d798-4fd5-aa39-301b6e6f4429запроса:

Запросить

curl --netrc -X GET \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5/requests/a83d9f7c-d798-4fd5-aa39-301b6e6f4429

Замена:

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

Response

{
   "status": "TERMINATED",
   "latest_update":{
     "pipeline_id": "a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5",
     "update_id": "90da8183-89de-4715-b5a9-c243e67f0093",
     "config":{
       "id": "aae89b88-e97e-40c4-8e1a-1b7ac76657e8",
       "name": "Retail sales (SQL)",
       "storage": "/Users/username/data",
       "configuration":{
         "pipelines.numStreamRetryAttempts": "5"
       },
       "clusters":[
         {
           "label": "default",
           "autoscale":{
             "min_workers": 1,
             "max_workers": 5,
             "mode": "ENHANCED"
           }
         }
       ],
       "libraries":[
         {
           "notebook":{
             "path": "/Users/username/DLT Notebooks/Delta Live Tables quickstart (SQL)"
           }
         }
       ],
       "continuous": false,
       "development": true,
       "photon": true,
       "edition": "advanced",
       "channel": "CURRENT"
     },
     "cause": "API_CALL",
     "state": "COMPLETED",
     "cluster_id": "1234-567891-abcde123",
     "creation_time": 1664304117145,
     "full_refresh": false,
     "request_id": "a83d9f7c-d798-4fd5-aa39-301b6e6f4429"
   }
}

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

Имя поля Тип Описание
status STRING Состояние запроса на обновление конвейера. Один из

* ACTIVE: обновление для этого запроса активно выполняется или может быть извлечено в новом обновлении.
* TERMINATED: запрос завершается и не будет повторно выполнен или перезапущен.
pipeline_id STRING Уникальный идентификатор конвейера.
update_id STRING Уникальный идентификатор обновления.
config PipelineSettings Параметры конвейера.
cause STRING Триггер для обновления. Возможные значения: API_CALL,
RETRY_ON_FAILURE, , SERVICE_UPGRADESCHEMA_CHANGE
JOB_TASK или USER_ACTION.
state STRING Состояние обновления. Возможные значения: QUEUED, CREATED,
WAITING_FOR_RESOURCES, , INITIALIZINGRESETTING
SETTING_UP_TABLES, , RUNNINGSTOPPING, COMPLETED
FAILED или CANCELED.
cluster_id STRING Идентификатор кластера, на котором выполняется обновление.
creation_time INT64 Метка времени создания обновления.
full_refresh BOOLEAN Будет ли это обновление сбрасывать все таблицы перед запуском
refresh_selection Массив объектов STRING. Список таблиц для обновления без полного обновления.
full_refresh_selection Массив объектов STRING. Список таблиц для полного обновления.
request_id STRING Уникальный идентификатор запроса, запускающего обновление. Это значение, возвращаемое запросом на обновление . Если обновление будет извлечено или перезапущено, новое обновление наследует request_id. Тем не менее, update_id это будет отличаться.

Останов всех активных обновлений конвейера

Конечная точка Метод HTTP
2.0/pipelines/{pipeline_id}/stop POST

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

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

Выполнение активированного конвейера останавливается. Обновление таблиц, которые обрабатываются в настоящее время, завершается, но нижележащие таблицы не обновляются. При следующем обновлении конвейера система Delta Live Tables обновляет все таблицы.

Пример

В этом примере останавливается обновление конвейера с идентификатором a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5.

Запросить

curl --netrc -X POST \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5/stop

Замена:

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

Получение списка событий конвейера

Конечная точка Метод HTTP
2.0/pipelines/{pipeline_id}/events GET

Извлекает события для конвейера.

Пример

В этом примере извлекается не более 5 событий для конвейера с идентификатором a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5.

Запросить

curl --netrc -X GET \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5/events?max_results=5

Замена:

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

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

Имя поля Тип Описание
page_token STRING Маркер страницы, возвращенный предыдущим вызовом. С этим полем в запросе нельзя использовать другие поля, кроме max_results. Если наряду с этим полем заданы какие-либо поля, кроме max_results, возвращается ошибка.

Это поле необязательно.
max_results INT32 Максимальное число записей, возвращаемых на одной странице. Система может вернуть в ответе меньше max_results событий, даже если доступно больше событий.

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

По умолчанию используется значение 25.

Максимальное значение равно 100. Возвращается ошибка, если значение
max_results больше 100.
order_by STRING Строка, указывающая порядок сортировки результатов по метке времени, например ["timestamp asc"].

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

Это поле необязательно.
filter STRING Критерии для выбора подмножества результатов, выраженного с помощью синтаксиса, аналогичного SQL. Поддерживаются следующие фильтры:

* level='INFO' (или WARN, или ERROR)
* level in ('INFO', 'WARN')
* id='[event-id]'
* timestamp > 'TIMESTAMP' (или >=,<,<=,=)

Поддерживаются составные выражения, например:
level in ('ERROR', 'WARN') AND timestamp> '2021-07-22T06:37:33.083Z'

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

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

Имя поля Тип Описание
events Массив событий конвейера. Список событий, соответствующих критериям запроса.
next_page_token STRING Если имеется, то это маркер для получения следующей страницы событий.
prev_page_token STRING Если имеется, то это маркер для получения предыдущей страницы событий.

Получение сведений о конвейере

Конечная точка Метод HTTP
2.0/pipelines/{pipeline_id} GET

Возвращает сведения о конвейере, включая его параметры и последние обновления.

Пример

Этот пример получает сведения о конвейере с идентификатором a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5.

Запросить

curl --netrc -X GET \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5

Замена:

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

Response

{
  "pipeline_id": "a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5",
  "spec": {
    "id": "a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5",
    "name": "Wikipedia pipeline (SQL)",
    "storage": "/Users/username/data",
    "clusters": [
      {
        "label": "default",
        "autoscale": {
          "min_workers": 1,
          "max_workers": 5,
          "mode": "ENHANCED"
        }
      }
    ],
    "libraries": [
      {
        "notebook": {
          "path": "/Users/username/DLT Notebooks/Delta Live Tables quickstart (SQL)"
        }
      }
    ],
    "target": "wikipedia_quickstart_data",
    "continuous": false
  },
  "state": "IDLE",
  "cluster_id": "1234-567891-abcde123",
  "name": "Wikipedia pipeline (SQL)",
  "creator_user_name": "username",
  "latest_updates": [
    {
      "update_id": "8a0b6d02-fbd0-11eb-9a03-0242ac130003",
      "state": "COMPLETED",
      "creation_time": "2021-08-13T00:37:30.279Z"
    },
    {
      "update_id": "a72c08ba-fbd0-11eb-9a03-0242ac130003",
      "state": "CANCELED",
      "creation_time": "2021-08-13T00:35:51.902Z"
    },
    {
      "update_id": "ac37d924-fbd0-11eb-9a03-0242ac130003",
      "state": "FAILED",
      "creation_time": "2021-08-13T00:33:38.565Z"
    }
  ],
  "run_as_user_name": "username"
}

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

Имя поля Тип Описание
pipeline_id STRING Уникальный идентификатор конвейера.
spec PipelineSettings Параметры конвейера.
state STRING Состояние конвейера. Возможные значения: IDLE или RUNNING.

Если state = RUNNING, то существует хотя бы одно активное обновление.
cluster_id STRING Идентификатор кластера, в котором работает конвейер.
name STRING Понятное имя для этого конвейера.
creator_user_name STRING Имя создателя конвейера.
latest_updates Массив UpdateStateInfo Состояние наиболее недавних обновлений для конвейера. Первыми в списке идет самое последнее обновление.
run_as_user_name STRING Имя пользователя, от имени которого выполняется конвейер.

Получение сведений об обновлении

Конечная точка Метод HTTP
2.0/pipelines/{pipeline_id}/updates/{update_id} GET

Получает сведения об обновлении конвейера.

Пример

Этот пример получает сведения об обновлении 9a84f906-fc51-11eb-9a03-0242ac130003 для конвейера с идентификатором a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5.

Запросить

curl --netrc -X GET \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5/updates/9a84f906-fc51-11eb-9a03-0242ac130003

Замена:

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

Response

{
  "update": {
    "pipeline_id": "a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5",
    "update_id": "9a84f906-fc51-11eb-9a03-0242ac130003",
    "config": {
      "id": "a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5",
      "name": "Wikipedia pipeline (SQL)",
      "storage": "/Users/username/data",
      "configuration": {
        "pipelines.numStreamRetryAttempts": "5"
      },
      "clusters": [
        {
          "label": "default",
          "autoscale": {
            "min_workers": 1,
            "max_workers": 5,
            "mode": "ENHANCED"
          }
        }
      ],
      "libraries": [
        {
          "notebook": {
            "path": "/Users/username/DLT Notebooks/Delta Live Tables quickstart (SQL)"
          }
        }
      ],
      "target": "wikipedia_quickstart_data",
      "continuous": false,
      "development": false
    },
    "cause": "API_CALL",
    "state": "COMPLETED",
    "creation_time": 1628815050279,
    "full_refresh": true,
    "request_id": "a83d9f7c-d798-4fd5-aa39-301b6e6f4429"
  }
}

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

Имя поля Тип Описание
pipeline_id STRING Уникальный идентификатор конвейера.
update_id STRING Уникальный идентификатор этого обновления.
config PipelineSettings Параметры конвейера.
cause STRING Триггер для обновления. Возможные значения: API_CALL,
RETRY_ON_FAILURE, SERVICE_UPGRADE.
state STRING Состояние обновления. Возможные значения: QUEUED, CREATED,
WAITING_FOR_RESOURCES, , INITIALIZINGRESETTING
SETTING_UP_TABLES, , RUNNINGSTOPPING, COMPLETED
FAILED или CANCELED.
cluster_id STRING Идентификатор кластера, в котором работает конвейер.
creation_time INT64 Метка времени создания обновления.
full_refresh BOOLEAN Является ли обновление полным. Если значение — true, все таблицы конвейера были сброшены перед выполнением обновления.

Получение списка конвейеров

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

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

Пример

В этом примере извлекаются сведения о конвейерах, в которых содержится quickstartимя:

Запросить

curl --netrc -X GET \
https://<databricks-instance>/api/2.0/pipelines?filter=name%20LIKE%20%27%25quickstart%25%27

Замена:

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

Response

{
  "statuses": [
    {
      "pipeline_id": "e0f01758-fc61-11eb-9a03-0242ac130003",
      "state": "IDLE",
      "name": "DLT quickstart (Python)",
      "latest_updates": [
        {
          "update_id": "ee9ae73e-fc61-11eb-9a03-0242ac130003",
          "state": "COMPLETED",
          "creation_time": "2021-08-13T00:34:21.871Z"
        }
      ],
      "creator_user_name": "username"
    },
    {
      "pipeline_id": "f4c82f5e-fc61-11eb-9a03-0242ac130003",
      "state": "IDLE",
      "name": "My DLT quickstart example",
      "creator_user_name": "username"
    }
  ],
  "next_page_token": "eyJ...==",
  "prev_page_token": "eyJ..x9"
}

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

Имя поля Тип Описание
page_token STRING Маркер страницы, возвращенный предыдущим вызовом.

Это поле необязательно.
max_results INT32 Максимальное число записей, возвращаемых на одной странице. Система может вернуть в ответе меньше max_results событий, даже если доступно больше событий.

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

По умолчанию используется значение 25.

Максимальное значение равно 100. Возвращается ошибка, если значение
max_results больше 100.
order_by Массив объектов STRING. Список строк, указывающих порядок результатов, например:
["name asc"]. Для полей order_by поддерживаются id и
name. Значение по умолчанию — id asc.

Это поле необязательно.
filter STRING Выбирает подмножество результатов на основе указанных критериев.

Поддерживаются следующие фильтры:

"notebook='<path>'" для выбора конвейеров, которые ссылаются на указанный путь к записной книжке.

name LIKE '[pattern]' для выбора конвейеров с именем, соответствующим pattern. Поддерживаются подстановочные знаки, например:
name LIKE '%shopping%'

Составные фильтры не поддерживаются.

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

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

Имя поля Тип Описание
statuses Массив PipelineStateInfo Список событий, соответствующих критериям запроса.
next_page_token STRING Если имеется, то это маркер для получения следующей страницы событий.
prev_page_token STRING Если имеется, то это маркер для получения предыдущей страницы событий.

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

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

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

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

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

ClusterLogConf

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

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

DbfsStorageInfo

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

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

FileStorageInfo

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

Примечание.

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

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

InitScriptInfo

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

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

Примечание.

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

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

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

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

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

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

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

KeyValue

Пара "ключ — значение" с параметрами конфигурации.

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

NotebookLibrary

Спецификация записной книжки, содержащей код конвейера.

Имя поля Тип Описание
path STRING Абсолютный путь к записной книжке.

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

PipelinesAutoScale

Атрибуты, определяющие кластер автомасштабирования.

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

* ENHANCED для использования расширенного автомасштабирования.
* LEGACY для использования функции автомасштабирования кластера.

PipelineLibrary

Спецификация зависимостей конвейера.

Имя поля Тип Описание
notebook NotebookLibrary Путь к записной книжке, определяющей наборы данных разностных динамических таблиц. Путь должен находиться в рабочей области Databricks, например:
{ "notebook" : { "path" : "/my-pipeline-notebook-path" } }.

PipelinesNewCluster

Спецификация кластера конвейера.

Система разностных динамических таблиц устанавливает следующие атрибуты. Пользователи не могут настраивать эти атрибуты:

  • spark_version
Имя поля Тип Описание
label STRING Метка для спецификации кластера. Возможные значения:
default для настройки кластера по умолчанию или
maintenance для настройки кластера обслуживания.

Это поле необязательно. Значение по умолчанию — default.
spark_conf KeyValue Объект с набором необязательных, определяемых пользователем пар "ключ-значение" в конфигурации 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 можно подготовить и оптимизировать для памяти или вычислительных интенсивных рабочих нагрузок Список доступных типов узлов можно получить с помощью вызова API кластеров.
driver_node_type_id STRING Тип узла драйвера Spark. Это поле является необязательным. Если значение не будет задано, тип узла драйвера устанавливается в то же значение, что и параметр node_type_id, определенный выше.
ssh_public_keys Массив объектов STRING. Содержимое открытого ключа SSH, которое будет добавлено в каждый узел Spark в этом кластере. Соответствующие закрытые ключи можно использовать для входа с именем пользователя ubuntu через порт 2200. Можно указать до 10 ключей.
custom_tags KeyValue Объект, содержащий набор тегов для кластерных ресурсов. В дополнение к default_tags Databricks помечает этими тегами все кластерные ресурсы.

Примечание.

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

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

Примеры переменных среды Spark:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"} или
{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
init_scripts Массив InitScriptInfo Конфигурация для хранения скриптов инициализации. Можно указать любое количество назначений. Скрипты выполняются последовательно в указанном порядке. Если для cluster_log_conf задано значение, журналы скриптов инициализации будут отправляться в
<destination>/<cluster-ID>/init_scripts.
instance_pool_id STRING Необязательный идентификатор пула экземпляров, к которому относится кластер. См . справочник по конфигурации пула.
driver_instance_pool_id STRING Идентификатор (необязательно) пула экземпляров, используемый для узла драйвера. Необходимо также указать
instance_pool_id. См . API пулов экземпляров.
policy_id STRING Идентификатор политики кластера.
num_workers OR autoscale INT32 OR InitScriptInfo Если указано num_workers, это количество рабочих узлов, которые должен иметь этот кластер. В кластере присутствует один драйвер Spark и исполнители num_workers для общего числа узлов: num_workers + 1 Spark.

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

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

Это поле необязательно.
apply_policy_default_values BOOLEAN Указывает, нужно ли использовать значения политики по умолчанию для отсутствующих атрибутов кластера.

PipelineSettings

Параметры развертывания конвейера.

Имя поля Тип Описание
id STRING Уникальный идентификатор для этого конвейера.

Идентификатор создается системой разностных динамических таблиц и не должен предоставляться при создании конвейера.
name STRING Понятное имя для этого конвейера.

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

По умолчанию имя конвейера должно быть уникальным. Чтобы использовать повторяющееся имя, задайте значение true для параметра allow_duplicate_names в конфигурации конвейера.
storage STRING Путь к каталогу DBFS для хранения контрольных точек и таблиц, созданных конвейером.

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

Если это поле пусто, система использует расположение по умолчанию.
configuration Схема STRING:STRING Список пар "ключ-значение" для добавления в конфигурацию Spark кластера, в котором будет выполняться конвейер.

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

Элементы должны быть отформатированы как пары "ключ:значение".
clusters Массив PipelinesNewCluster Массив спецификаций кластеров для запуска конвейера.

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

Если этот параметр не указан, система выберет для конвейера конфигурацию кластера по умолчанию.
libraries Массив PipelineLibrary Записные книжки, содержащие код конвейера и все зависимости, необходимые для запуска конвейера.
target STRING Имя базы данных для сохранения выходных данных конвейера.

Дополнительные сведения см. в статье "Публикация данных из разностных динамических таблиц" в хранилище метаданных Hive.
continuous BOOLEAN Указывает, является ли этот конвейер непрерывным.

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

Значение по умолчанию — false.
development BOOLEAN Указывает, нужно ли выполнять конвейер в режиме разработки.

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

Значение по умолчанию — false.
photon BOOLEAN Включено ли ускорение Photon для этого конвейера.

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

Значение по умолчанию — false.
channel STRING Канал выпуска Delta Live Tables, указывающий версию среды выполнения для этого конвейера. Поддерживаются значения:

* preview для тестирования конвейера с предстоящими изменениями в среде выполнения Delta Live Tables.
* current для использования текущей версии среды выполнения Delta Live Tables.

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

Значение по умолчанию — current.
edition STRING Выпуск продукта Delta Live Tables для запуска конвейера.

* CORE поддерживает рабочие нагрузки приема потоковой передачи.
* PRO также поддерживает рабочие нагрузки приема потоковой передачи и добавляет поддержку обработки отслеживания измененных данных (CDC).
* ADVANCED поддерживает все функции выпуска PRO и добавляет поддержку рабочих нагрузок, требующих применения ограничений качества данных в Delta Live Tables.

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

Значение по умолчанию — advanced.

PipelineStateInfo

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

Имя поля Тип Описание
state STRING Состояние конвейера. Возможные значения: IDLE или RUNNING.
pipeline_id STRING Уникальный идентификатор конвейера.
cluster_id STRING Уникальный идентификатор кластера, в котором работает конвейер.
name STRING Понятное имя конвейера.
latest_updates Массив UpdateStateInfo Состояние наиболее недавних обновлений для конвейера. Первыми в списке идет самое последнее обновление.
creator_user_name STRING Имя создателя конвейера.
run_as_user_name STRING Имя пользователя, от имени которого выполняется конвейер. Это значение, которое доступно только для чтения и определяется согласно владельцу конвейера.

UpdateStateInfo

Текущее состояние обновления конвейера.

Имя поля Тип Описание
update_id STRING Уникальный идентификатор этого обновления.
state STRING Состояние обновления. Одно из значений: QUEUED, CREATED,
WAITING_FOR_RESOURCES, , INITIALIZINGRESETTING
SETTING_UP_TABLES, , RUNNINGSTOPPING, COMPLETED
FAILED или CANCELED.
creation_time STRING Метка времени создания обновления.

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

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

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