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

Подключение Databricks Совместимо с dbt v2

Адаптер dbt-databricks поддерживается командой Databricks. Команда Databricks стремится поддерживать и совершенствовать адаптер в долгосрочной перспективе, поэтому вы можете быть уверены, что эта интеграция позволит использовать лучшие возможности dbt и Databricks. Подключение к Databricks через dbt-spark объявлено устаревшим.

О адаптере dbt-databricks​

dbt-databricks совместим со следующими версиями dbt v1 в dbt с различной степенью поддержки функциональности.

ФункцияВерсии dbt
dbt-databricksДоступен начиная с dbt 1.0 в dbt
Unity CatalogДоступен начиная с dbt 1.1
Модели PythonДоступны начиная с dbt 1.3

Адаптер dbt-databricks предлагает:

  • Более простая настройка
  • Лучшие значения по умолчанию: Адаптер dbt-databricks более определен, направляя пользователей к улучшенному опыту с меньшими усилиями. Дизайнерские решения этого адаптера включают использование формата Delta по умолчанию, использование merge для инкрементных моделей и выполнение затратных запросов с Photon.
  • Поддержка Unity Catalog: Unity Catalog позволяет пользователям Databricks централизованно управлять всеми данными, упрощая управление доступом и улучшая производительность поиска и запросов. Пользователи Databricks теперь могут получить трехуровневую иерархию данных – каталог, схема, имя модели – что решает давнюю проблему в организации и управлении данными.

Чтобы узнать, как оптимизировать производительность с помощью настроек для конкретной платформы данных в dbt, обратитесь к разделу Настройки для Databricks.

Чтобы предоставить пользователям или ролям разрешения на базу данных (права доступа и привилегии), обратитесь к странице примеров разрешений.

Права доступа к хранилищу для dbt v2​

Пользователь или субъект-служба Databricks, от имени которого работает dbt v2, должен иметь привилегии для каталога и схем, в которых выполняются модели, а также права доступа, необходимые для запросов метаданных. Требования зависят от того, используете ли вы Unity Catalog или устаревший Hive Metastore.

Необходимые объекты Databricks​

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

ОбъектНазначение
Рабочая областьURL вашей рабочей области Databricks (host)
SQL warehouse или кластерВычислительный ресурс (с использованием http_path)
КаталогКаталог Unity Catalog или Hive Metastore
СхемаЦелевая схема в каталоге
Пользователь или субъект-службаУчетная запись для аутентификации

Unity Catalog​

Необходимые права доступа для Unity Catalog:

РазрешениеОбъектНазначение
USE CATALOGКаталогДоступ к каталогу
USE SCHEMAСхемаДоступ к схемам
SELECTТаблицы или представленияЧтение существующих данных и источников
CREATE TABLEСхемаСоздание моделей, материализованных в виде таблиц
CREATE VIEWСхемаСоздание моделей, материализованных в виде представлений
MODIFYТаблицыВставка, обновление и удаление данных
CREATE SCHEMAКаталогАвтоматическое создание схем (при необходимости)

Hive Metastore​

Необходимые права доступа для устаревшего Hive Metastore:

РазрешениеОбъектНазначение
USAGEБаза данныхДоступ к базе данных
SELECTТаблицыЧтение данных
CREATEБаза данныхСоздание таблиц и представлений
MODIFYТаблицыИзменение данных

Операции с метаданными​

Для основных функций dbt необходимы следующие права:

Тип запросаИспользуемый SQLНеобходимое разрешение
Получение схемы таблицыDESCRIBE TABLE или DESCRIBE TABLE EXTENDEDSELECT для таблицы
Получение схемы таблицы (DBR 16.2+)DESCRIBE TABLE EXTENDED ... AS JSONSELECT для таблицы
Получение списка отношенийЗапрос к INFORMATION_SCHEMA.TABLESUSE CATALOG и USE SCHEMA
Проверка актуальности источникаЗапрос к INFORMATION_SCHEMA.TABLES для получения last_alteredUSE CATALOG
Получение определения представленияЗапрос к SYSTEM.INFORMATION_SCHEMA.VIEWSДоступ к системному каталогу
Создание схемCREATE SCHEMA IF NOT EXISTSCREATE SCHEMA для каталога

Модели Python​

Дополнительные разрешения для сред, использующих модели Python

РазрешениеОбъектНазначение
Доступ к API рабочей области/api/2.0/workspace/*Создание каталогов для блокнотов
Импорт блокнотовРабочая областьИмпорт блокнотов Python
Выполнение заданийКластер или SQL warehouseЗапуск моделей Python

Поля подключения​

ПолеОписаниеПримеры
Имя хоста сервераИмя хоста аккаунта Databricks для подключенияdbc-a2c61234-1234.cloud.databricks.com
HTTP PathHTTP путь к кластеру Databricks или SQL хранилищу/sql/1.0/warehouses/1a23b4596cd7e8fg
CatalogИмя каталога Databricks (необязательно)Production
Настройка подключения к Databricks с помощью адаптера dbt-databricksНастройка подключения к Databricks с помощью адаптера dbt-databricks

Нашли ошибку?

0
Loading