Перейти к основному содержимому

Настройка Databricks

Файл profiles.yml предназначен только для пользователей dbt Core

Если вы используете dbt Cloud, вам не нужно создавать файл profiles.yml. Этот файл предназначен только для пользователей dbt Core. Чтобы подключить вашу платформу данных к dbt Cloud, обратитесь к разделу О платформах данных.

  • Поддерживается: Databricks
  • Авторы: some dbt loving Bricksters
  • Репозиторий на GitHub: databricks/dbt-databricks
  • Пакет на PyPI: dbt-databricks
  • Канал в Slack: #db-databricks-and-spark
  • Поддерживаемая версия dbt Core: v0.18.0 и новее
  • Поддержка dbt Cloud: Supported
  • Минимальная версия платформы данных: Databricks SQL or DBR 12+

Установка dbt-databricks

Используйте pip для установки адаптера. До версии 1.8 установка адаптера автоматически устанавливала dbt-core и любые дополнительные зависимости. Начиная с версии 1.8, установка адаптера не устанавливает автоматически dbt-core. Это связано с тем, что адаптеры и версии dbt Core были разделены, и мы больше не хотим перезаписывать существующие установки dbt-core. Используйте следующую команду для установки:

Конфигурация dbt-databricks

Для конфигурации, специфичной для Databricks, пожалуйста, обратитесь к конфигурациям Databricks.

dbt-databricks — это рекомендуемый адаптер для Databricks. Он включает функции, недоступные в dbt-spark, такие как:

  • Поддержка Unity Catalog
  • Нет необходимости устанавливать дополнительные драйверы или зависимости для использования в CLI
  • Использование Delta Lake для всех моделей по умолчанию
  • SQL макросы, оптимизированные для работы с Photon

Подключение к Databricks

Чтобы подключиться к платформе данных с помощью dbt Core, создайте соответствующие ключи/значения profile и target в YAML-файле конфигурации profiles.yml для вашего Databricks SQL Warehouse/кластера. Этот YAML-файл dbt находится в директории .dbt/ вашего пользовательского/домашнего каталога. Для получения дополнительной информации обратитесь к Профили подключения и profiles.yml.

dbt-databricks может подключаться к Databricks SQL Warehouses и универсальным кластерам. Databricks SQL Warehouses — это рекомендуемый способ начать работу с Databricks.

Обратитесь к документации Databricks для получения дополнительной информации о том, как получить учетные данные для настройки вашего профиля.

Примеры

Вы можете использовать аутентификацию на основе токенов или аутентификацию на основе OAuth-клиента для подключения к Databricks. Обратитесь к следующим примерам для получения дополнительной информации о том, как настроить ваш профиль для каждого типа аутентификации.

~/.dbt/profiles.yml
your_profile_name:
target: dev
outputs:
dev:
type: databricks
catalog: CATALOG_NAME #опциональное имя каталога, если вы используете Unity Catalog
schema: SCHEMA_NAME # Обязательно
host: YOURORG.databrickshost.com # Обязательно
http_path: /SQL/YOUR/HTTP/PATH # Обязательно
token: dapiXXXXXXXXXXXXXXXXXXXXXXX # Обязательно, если используется аутентификация на основе токенов
threads: 1_OR_MORE # Опционально, по умолчанию 1

Параметры хоста

Следующие поля профиля всегда обязательны.

ПолеОписаниеПример
hostИмя хоста вашего кластера.

Не включайте префикс http:// или https://.
YOURORG.databrickshost.com
http_pathHTTP-путь к вашему SQL Warehouse или универсальному кластеру./SQL/YOUR/HTTP/PATH
schemaИмя схемы в каталоге вашего кластера.

Не рекомендуется использовать имена схем с заглавными или смешанными буквами.
MY_SCHEMA

Параметры аутентификации

Адаптер dbt-databricks поддерживает как аутентификацию на основе токенов, так и аутентификацию на основе OAuth-клиента.

Обратитесь к следующим обязательным параметрам для настройки вашего профиля для каждого типа аутентификации:

ПолеТип аутентификацииОписаниеПример
tokenНа основе токеновЛичный токен доступа (PAT) для подключения к Databricks.dapiXXXXXXXXX
XXXXXXXXXXXXXX
client_idНа основе OAuthID клиента для вашего OAuth-приложения Databricks.
OAUTH_CLIENT_ID
client_secretНа основе OAuthСекрет клиента для вашего OAuth-приложения Databricks.
XXXXXXXXXXXXX
XXXXXXXXXXXXXX
auth_typeНа основе OAuthТип авторизации, необходимый для подключения к Databricks.
oauth

Дополнительные параметры

Следующие поля профиля являются опциональными для настройки. Они помогают настроить, как сессия вашего кластера и dbt работают для вашего подключения.

Поле профиляОписаниеПример
threadsКоличество потоков, которые должен использовать dbt (по умолчанию 1)8
connect_retriesКоличество попыток повторного подключения к Databricks (по умолчанию 1)3
connect_timeoutСколько секунд до истечения времени ожидания подключения к Databricks (по умолчанию без ограничений)1000
session_propertiesУстанавливает свойства сессии Databricks, используемые в подключении. Выполните SET -v, чтобы увидеть доступные опцииansi_mode: true

Поддерживаемая функциональность

Delta Lake

Большинство функциональности dbt Core поддерживается, но некоторые функции доступны только в Delta Lake.

Функции, доступные только в Delta:

  1. Инкрементальные обновления моделей по unique_key вместо partition_by (см. стратегия merge)
  2. Снимки

Unity Catalog

Адаптер dbt-databricks>=1.1.1 поддерживает 3-уровневое пространство имен Unity Catalog (каталог / схема / отношения), что позволяет организовать и защитить ваши данные так, как вам нужно.

0