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

Настройка Dremio

  • Поддерживается: Dremio
  • Авторы: Dremio
  • Репозиторий на GitHub: dremio/dbt-dremio
  • Пакет на PyPI: dbt-dremio
  • Канал в Slack: db-dremio
  • Поддерживаемая версия dbt Core: v1.8.0 и новее
  • Поддержка dbt Cloud: Not Supported
  • Минимальная версия платформы данных: Dremio 22.0

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

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

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

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

Следуйте по ссылке репозитория для получения информации о зависимостях ОС.

примечание

Контракты моделей не поддерживаются.

Предварительные условия для Dremio Cloud

Перед подключением проекта к Dremio Cloud выполните следующие предварительные шаги:

  • Убедитесь, что у вас есть ID проекта Sonar, который вы хотите использовать. См. Получение ID проекта.
  • Убедитесь, что у вас есть персональный токен доступа (PAT) для аутентификации в Dremio Cloud. См. Создание токена.
  • Убедитесь, что на системе, на которой вы запускаете dbt, установлена версия Python 3.9.x или более поздняя.

Предварительные условия для Dremio Software

  • Убедитесь, что вы используете версию 22.0 или более позднюю.

  • Убедитесь, что на системе, на которой вы запускаете dbt, установлена версия Python 3.9.x или более поздняя.

    См. Ключи поддержки в документации Dremio для получения инструкций.

  • Если вы хотите использовать TLS для защиты соединения между dbt и Dremio Software, настройте полное шифрование канала в вашем кластере Dremio. Для инструкций см. Настройка шифрования канала.

Инициализация проекта

  1. Выполните команду dbt init <project_name>.
  2. Выберите dremio в качестве используемой базы данных.
  3. Выберите один из следующих вариантов для генерации профиля вашего проекта:
    • dremio_cloud для работы с Dremio Cloud
    • software_with_username_password для работы с кластером Dremio Software и аутентификации в кластере с использованием имени пользователя и пароля
    • software_with_pat для работы с кластером Dremio Software и аутентификации в кластере с использованием персонального токена доступа

Далее настройте профиль для вашего проекта.

Профили

Когда вы инициализируете проект, вы создаете один из этих трех профилей. Вы должны настроить его перед попыткой подключения к Dremio Cloud или Dremio Software.

  • Профиль для Dremio Cloud
  • Профиль для Dremio Software с аутентификацией по имени пользователя/паролю
  • Профиль для Dremio Software с аутентификацией через персональный токен доступа

Для описания конфигураций в этих профилях см. Конфигурации.

[project name]:
outputs:
dev:
cloud_host: api.dremio.cloud
cloud_project_id: [project ID]
object_storage_source: [name]
object_storage_path: [path]
dremio_space: [name]
dremio_space_folder: [path]
pat: [personal access token]
threads: [integer >= 1]
type: dremio
use_ssl: true
user: [email address]
target: dev

Общие конфигурации для профилей Dremio Cloud и Dremio Software

КонфигурацияОбязательна?Значение по умолчаниюОписание
typeДаdremioАвтоматически заполняется при создании проекта Dremio. Не изменяйте это значение.
threadsДа1Количество потоков, на которых выполняется проект dbt.
object_storage_sourceНет$scratchИмя файловой системы, в которой создаются таблицы, материализованные представления, тесты и другие объекты. Псевдоним dbt — datalake. Это имя соответствует имени источника в разделе Object Storage на странице Datasets в Dremio, которое в следующем изображении называется "Samples": dbt samples path
object_storage_pathНетno_schemaПуть в файловой системе, в котором создаются объекты. По умолчанию это корневой уровень файловой системы. Псевдоним dbt — root_path. Вложенные папки в пути разделяются точками. Это значение соответствует пути в этом месте на странице Datasets в Dremio, которое в следующем изображении называется "samples.dremio.com.Dremio University": dbt samples path
dremio_spaceНет@\<username>Значение пространства Dremio, в котором создаются представления. Псевдоним dbt — database. Это значение соответствует имени в этом месте в разделе Spaces на странице Datasets в Dremio: dbt spaces
dremio_space_folderНетno_schemaПапка в пространстве Dremio, в которой создаются представления. По умолчанию это верхний уровень в пространстве. Псевдоним dbt — schema. Вложенные папки разделяются точками. Это значение соответствует пути в этом месте на странице Datasets в Dremio, которое в следующем изображении называется Folder1.Folder2: Folder1.Folder2

Конфигурации в профилях для Dremio Cloud

КонфигурацияОбязательна?Значение по умолчаниюОписание
cloud_hostДаapi.dremio.cloudКонтрольная плоскость США: api.dremio.cloud
Контрольная плоскость ЕС: api.eu.dremio.cloud
userДаНетАдрес электронной почты, используемый в качестве имени пользователя в Dremio Cloud
patДаНетПерсональный токен доступа для аутентификации. См. Персональные токены доступа для получения инструкций о получении токена.
cloud_project_idДаНетID проекта Sonar, в котором выполняются преобразования.
use_sslДаtrueЗначение должно быть true.

Конфигурации в профилях для Dremio Software

КонфигурацияОбязательна?Значение по умолчаниюОписание
software_hostДаНетИмя хоста или IP-адрес координаторного узла кластера Dremio.
portДа9047Порт для конечных точек API кластера Dremio Software.
userДаНетИмя пользователя учетной записи, используемой для входа в кластер Dremio.
passwordДа, если вы не используете конфигурацию pat.НетПароль учетной записи, используемой для входа в кластер Dremio.
patДа, если вы не используете конфигурации user и password.НетПерсональный токен доступа для аутентификации в Dremio. См. Персональные токены доступа для получения инструкций о получении токена. Использование персонального токена доступа имеет приоритет, если указаны значения для трех конфигураций user, password и pat.
use_sslДаtrueДопустимые значения: true и false. Если значение установлено в true, убедитесь, что в вашем кластере Dremio настроено полное шифрование канала. См. Предварительные условия для Dremio Software.
0