Databricks
Выполнение SQL-запросов и управление задачами в Databricks
Databricks — это унифицированная платформа аналитики данных, построенная на Apache Spark, предоставляющая совместную среду для инженерии данных, науки о данных и машинного обучения. Databricks объединяет хранилища данных, ETL и рабочие нагрузки AI в единую архитектуру lakehouse с поддержкой SQL-аналитики, оркестрации задач и управления кластерами на основных облачных провайдерах.
С интеграцией Databricks в AACFlow вы можете:
- Выполнять SQL-запросы: Запускать SQL-запросы к SQL-хранилищам Databricks с поддержкой параметризованных запросов и Unity Catalog
- Управлять задачами: Перечислять, запускать и отслеживать выполнения задач Databricks программно
- Отслеживать статус выполнения: Получать детальную информацию о выполнении, включая время, состояние и результаты
- Управлять кластерами: Перечислять и проверять конфигурации кластеров, состояния и детали ресурсов
- Получать результаты выполнения: Получать доступ к результатам блокнотов, сообщениям об ошибках и логам из завершенных выполнений задач
В AACFlow интеграция с Databricks позволяет вашим агентам взаимодействовать с вашим lakehouse данных как часть автоматизированных рабочих процессов. Агенты могут запрашивать крупномасштабные наборы данных, оркестрировать ETL-пайплайны путем запуска задач, отслеживать выполнение задач и получать результаты — все без выхода из холста рабочего процесса. Это идеально подходит для автоматизированной отчетности, управления пайплайнами данных, запланированной аналитики и создания AI-управляемых рабочих процессов данных, которые реагируют на результаты запросов или исходы задач.
Подключитесь к Databricks для выполнения SQL-запросов к SQL-хранилищам, запуска и отслеживания выполнений задач, управления кластерами и получения результатов выполнения. Требуется Personal Access Token и URL хоста рабочего пространства.
Выполнить SQL-запрос к SQL-хранилищу Databricks и вернуть результаты встроенно. Поддерживает параметризованные запросы и Unity Catalog.
| Параметр | Тип | Обязательный | Описание |
|---|
host | string | Да | Хост рабочего пространства Databricks (например, dbc-abc123.cloud.databricks.com) |
apiKey | string | Да | Personal Access Token Databricks |
warehouseId | string | Да | ID SQL-хранилища для выполнения запроса |
statement | string | Да | SQL-запрос для выполнения (максимум 16 MiB) |
catalog | string | Нет | Имя Unity Catalog (эквивалентно USE CATALOG) |
schema | string | Нет | Имя схемы (эквивалентно USE SCHEMA) |
rowLimit | number | Нет | Максимальное количество строк для возврата |
waitTimeout | string | Нет | Сколько ждать результатов (например, "50s"). Диапазон: "0s" или "5s" до "50s". По умолчанию: "50s" |
| Параметр | Тип | Описание |
|---|
statementId | string | Уникальный идентификатор выполненного запроса |
status | string | Статус выполнения (SUCCEEDED, PENDING, RUNNING, FAILED, CANCELED, CLOSED) |
columns | array | Схема столбцов результирующего набора |
↳ name | string | Имя столбца |
↳ position | number | Позиция столбца (0-based) |
↳ typeName | string | Тип столбца (STRING, INT, LONG, DOUBLE, BOOLEAN, TIMESTAMP, DATE, DECIMAL и т.д.) |
data | array | Строки результатов как 2D-массив строк, где каждый внутренний массив — это строка значений столбцов |
totalRows | number | Общее количество строк в результате |
truncated | boolean | Был ли результирующий набор усечен из-за row_limit или byte_limit |
Перечислить все задачи в рабочем пространстве Databricks с опциональной фильтрацией по имени.
| Параметр | Тип | Обязательный | Описание |
|---|
host | string | Да | Хост рабочего пространства Databricks (например, dbc-abc123.cloud.databricks.com) |
apiKey | string | Да | Personal Access Token Databricks |
limit | number | Нет | Максимальное количество задач для возврата (диапазон 1-100, по умолчанию 20) |
offset | number | Нет | Смещение для пагинации |
name | string | Нет | Фильтровать задачи по точному имени (без учета регистра) |
expandTasks | boolean | Нет | Включать детали задач и кластеров в ответ (максимум 100 элементов) |
| Параметр | Тип | Описание |
|---|
jobs | array | Список задач в рабочем пространстве |
↳ jobId | number | Уникальный идентификатор задачи |
↳ name | string | Имя задачи |
↳ createdTime | number | Метка времени создания задачи (эпоха в мс) |
↳ creatorUserName | string | Email создателя задачи |
↳ maxConcurrentRuns | number | Максимальное количество одновременных выполнений |
↳ format | string | Формат задачи (SINGLE_TASK или MULTI_TASK) |
hasMore | boolean | Доступны ли дополнительные задачи для пагинации |
nextPageToken | string | Токен для получения следующей страницы результатов |
Запустить существующую задачу Databricks для немедленного выполнения с опциональными параметрами уровня задачи или блокнота.
| Параметр | Тип | Обязательный | Описание |
|---|
host | string | Да | Хост рабочего пространства Databricks (например, dbc-abc123.cloud.databricks.com) |
apiKey | string | Да | Personal Access Token Databricks |
jobId | number | Да | ID задачи для запуска |
jobParameters | string | Нет | Переопределения параметров уровня задачи в формате JSON-объекта (например, \{"key": "value"\}) |
notebookParams | string | Нет | Параметры задачи блокнота в формате JSON-объекта (например, \{"param1": "value1"\}) |
idempotencyToken | string | Нет | Токен идемпотентности для предотвращения дублирующих выполнений (максимум 64 символа) |
| Параметр | Тип | Описание |
|---|
runId | number | Глобально уникальный ID запущенного выполнения |
numberInJob | number | Порядковый номер этого выполнения среди всех выполнений задачи |
Получить статус, время и детали выполнения задачи Databricks по его ID выполнения.
| Параметр | Тип | Обязательный | Описание |
|---|
host | string | Да | Хост рабочего пространства Databricks (например, dbc-abc123.cloud.databricks.com) |
apiKey | string | Да | Personal Access Token Databricks |
runId | number | Да | Канонический идентификатор выполнения |
includeHistory | boolean | Нет | Включать историю исправлений в ответ |
includeResolvedValues | boolean | Нет | Включать разрешенные значения параметров в ответ |
| Параметр | Тип | Описание |
|---|
runId | number | ID выполнения |
jobId | number | ID задачи, к которой принадлежит это выполнение |
runName | string | Имя выполнения |
runType | string | Тип выполнения (JOB_RUN, WORKFLOW_RUN, SUBMIT_RUN) |
attemptNumber | number | Номер попытки повторного выполнения (0 для начальной попытки) |
state | object | Информация о состоянии выполнения |
↳ lifeCycleState | string | Состояние жизненного цикла (QUEUED, PENDING, RUNNING, TERMINATING, TERMINATED, SKIPPED, INTERNAL_ERROR, BLOCKED, WAITING_FOR_RETRY) |
↳ resultState | string | Состояние результата (SUCCESS, FAILED, TIMEDOUT, CANCELED, SUCCESS_WITH_FAILURES, UPSTREAM_FAILED, UPSTREAM_CANCELED, EXCLUDED) |
↳ stateMessage | string | Описательное сообщение для текущего состояния |
↳ userCancelledOrTimedout | boolean | Было ли выполнение отменено пользователем или превышено время ожидания |
startTime | number | Метка времени начала выполнения (эпоха в мс) |
endTime | number | Метка времени окончания выполнения (эпоха в мс, 0 если все еще выполняется) |
setupDuration | number | Длительность настройки кластера (мс) |
executionDuration | number | Длительность выполнения (мс) |
cleanupDuration | number | Длительность очистки (мс) |
queueDuration | number | Время, проведенное в очереди перед выполнением (мс) |
runPageUrl | string | URL страницы деталей выполнения в интерфейсе Databricks |
creatorUserName | string | Email пользователя, запустившего выполнение |
Перечислить выполнения задач в рабочем пространстве Databricks с опциональной фильтрацией по задаче, статусу и временному диапазону.
| Параметр | Тип | Обязательный | Описание |
|---|
host | string | Да | Хост рабочего пространства Databricks (например, dbc-abc123.cloud.databricks.com) |
apiKey | string | Да | Personal Access Token Databricks |
jobId | number | Нет | Фильтровать выполнения по ID задачи. Пропустить для перечисления выполнений по всем задачам |
activeOnly | boolean | Нет | Включать только активные выполнения (PENDING, RUNNING или TERMINATING) |
completedOnly | boolean | Нет | Включать только завершенные выполнения |
limit | number | Нет | Максимальное количество выполнений для возврата (диапазон 1-24, по умолчанию 20) |
offset | number | Нет | Смещение для пагинации |
runType | string | Нет | Фильтровать по типу выполнения (JOB_RUN, WORKFLOW_RUN, SUBMIT_RUN) |
startTimeFrom | number | Нет | Фильтровать выполнения, начатые в или после этой метки времени (эпоха в мс) |
startTimeTo | number | Нет | Фильтровать выполнения, начатые в или до этой метки времени (эпоха в мс) |
| Параметр | Тип | Описание |
|---|
runs | array | Список выполнений задач |
↳ runId | number | Уникальный идентификатор выполнения |
↳ jobId | number | Задача, к которой принадлежит это выполнение |
↳ runName | string | Имя выполнения |
↳ runType | string | Тип выполнения (JOB_RUN, WORKFLOW_RUN, SUBMIT_RUN) |
↳ state | object | Информация о состоянии выполнения |
↳ lifeCycleState | string | Состояние жизненного цикла (QUEUED, PENDING, RUNNING, TERMINATING, TERMINATED, SKIPPED, INTERNAL_ERROR, BLOCKED, WAITING_FOR_RETRY) |
↳ resultState | string | Состояние результата (SUCCESS, FAILED, TIMEDOUT, CANCELED, SUCCESS_WITH_FAILURES, UPSTREAM_FAILED, UPSTREAM_CANCELED, EXCLUDED) |
↳ stateMessage | string | Описательное сообщение о состоянии |
↳ userCancelledOrTimedout | boolean | Было ли выполнение отменено пользователем или превышено время ожидания |
↳ startTime | number | Метка времени начала выполнения (эпоха в мс) |
↳ endTime | number | Метка времени окончания выполнения (эпоха в мс) |
hasMore | boolean | Доступны ли дополнительные выполнения для пагинации |
nextPageToken | string | Токен для получения следующей страницы результатов |
Отменить выполняющееся или ожидающее выполнение задачи Databricks. Отмена асинхронна; опрашивайте статус выполнения для подтверждения завершения.
| Параметр | Тип | Обязательный | Описание |
|---|
host | string | Да | Хост рабочего пространства Databricks (например, dbc-abc123.cloud.databricks.com) |
apiKey | string | Да | Personal Access Token Databricks |
runId | number | Да | Канонический идентификатор выполнения для отмены |
| Параметр | Тип | Описание |
|---|
success | boolean | Был ли запрос на отмену принят |
Получить вывод завершенного выполнения задачи Databricks, включая результаты блокнота, сообщения об ошибках и логи. Для многозадачных задач используйте ID выполнения задачи (не родительский ID выполнения).
| Параметр | Тип | Обязательный | Описание |
|---|
host | string | Да | Хост рабочего пространства Databricks (например, dbc-abc123.cloud.databricks.com) |
apiKey | string | Да | Personal Access Token Databricks |
runId | number | Да | ID выполнения для получения вывода. Для многозадачных задач используйте ID выполнения задачи |
| Параметр | Тип | Описание |
|---|
notebookOutput | object | Вывод задачи блокнота (из dbutils.notebook.exit()) |
↳ result | string | Значение, переданное в dbutils.notebook.exit() (максимум 5 MB) |
↳ truncated | boolean | Был ли результат усечен |
error | string | Сообщение об ошибке, если выполнение завершилось неудачно или вывод недоступен |
errorTrace | string | Трассировка стека ошибки, если доступна |
logs | string | Лог-вывод (последние 5 MB) из задач spark_jar, spark_python или python_wheel |
logsTruncated | boolean | Был ли лог-вывод усечен |
Перечислить все кластеры в рабочем пространстве Databricks, включая их состояние, конфигурацию и детали ресурсов.
| Параметр | Тип | Обязательный | Описание |
|---|
host | string | Да | Хост рабочего пространства Databricks (например, dbc-abc123.cloud.databricks.com) |
apiKey | string | Да | Personal Access Token Databricks |
| Параметр | Тип | Описание |
|---|
clusters | array | Список кластеров в рабочем пространстве |
↳ clusterId | string | Уникальный идентификатор кластера |
↳ clusterName | string | Отображаемое имя кластера |
↳ state | string | Текущее состояние (PENDING, RUNNING, RESTARTING, RESIZING, TERMINATING, TERMINATED, ERROR, UNKNOWN) |
↳ stateMessage | string | Человекочитаемое описание состояния |
↳ creatorUserName | string | Email создателя кластера |
↳ sparkVersion | string | Версия среды выполнения Spark (например, 13.3.x-scala2.12) |
↳ nodeTypeId | string | Идентификатор типа рабочего узла |
↳ driverNodeTypeId | string | Идентификатор типа драйверного узла |
↳ numWorkers | number | Количество рабочих узлов (для кластеров фиксированного размера) |
↳ autoscale | object | Конфигурация автомасштабирования (null для кластеров фиксированного размера) |
↳ minWorkers | number | Минимальное количество рабочих узлов |
↳ maxWorkers | number | Максимальное количество рабочих узлов |
↳ clusterSource | string | Источник (API, UI, JOB, MODELS, PIPELINE, PIPELINE_MAINTENANCE, SQL) |
↳ autoterminationMinutes | number | Минуты бездействия перед авто-завершением (0 = отключено) |
↳ startTime | number | Метка времени запуска кластера (эпоха в мс) |