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


Подключение к dbt Core

В этом артефакте объясняется, что такое dbt, как установить dbt Core и как подключиться. Размещенная версия dbt, называемая dbt Cloud, также доступна. Дополнительные сведения см. в разделе Подключение к dbt Cloud.

Что такое dbt?

dbt (средство сборки данных) — это среда разработки для преобразования данных путем написания инструкций select. dbt преобразует такие инструкции select в таблицы и представления. dbt компилирует код в необработанные инструкции SQL, а затем выполняет его в указанной базе данных в Azure Databricks. dbt поддерживает шаблоны и рекомендации по совместному программированию, включая управление версиями, документацию и модульность.

dbt не извлекает и не загружает данные. dbt работает только с этапом преобразования, используя архитектуру "преобразование после загрузки". В dbt предполагается, что у вас уже есть копия данных в базе.

dbt Core позволяет создавать код dbt в интегрированной среде разработки на локальном компьютере разработки, а затем запускать dbt из командной строки. В dbt Core предусмотрен интерфейс командной строки (CLI) dbt. Интерфейс dbt CLI является бесплатным и имеет открытый код.

dbt Core (и dbt Cloud) может использовать размещенные репозитории Git. Дополнительные сведения см. в статьях Создание проекта dbt и Использование существующего проекта на веб-сайте dbt.

Требования для установки

Перед установкой dbt Core необходимо установить на компьютере локальной разработки следующие компоненты:

  • Python 3.7 или более поздней версии;
  • служебную программу для создания виртуальных сред Python (например, pipenv).

Для проверки подлинности также требуется одно из следующих действий.

  • (Рекомендуется) dbt Core в качестве приложения OAuth в вашей учетной записи. Эта функция включена по умолчанию.

  • Личный маркер доступа

    Примечание.

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

    Если вы используете проверку подлинности маркера личного доступа, Databricks рекомендует использовать личные маркеры доступа, принадлежащие субъектам-службам, а не пользователям рабочей области. Сведения о создании маркеров для субъектов-служб см. в разделе "Управление маркерами" для субъекта-службы.

Шаг 1. Установка адаптера dbt Databricks

Мы рекомендуем использовать виртуальную среду Python, так как она изолирует версии пакетов и зависимости кода для конкретной среды независимо от версий пакетов и зависимостей кода в других средах. Это помогает сократить число несовпадений версий пакета и конфликтов зависимостей кода.

Databricks рекомендует версию 1.8.0 или больше пакета dbt-databricks.

.. важно.. Если на локальном компьютере разработки используется любая из следующих операционных систем, сначала необходимо выполнить дополнительные действия: CentOS, MacOS, Ubuntu, Debian и Windows. См. раздел "Соответствует ли моя операционная система требованиям" на странице Использование pip для установки dbt на веб-сайте dbt Labs.

Шаг 2. Создание проекта dbt, указание и проверка параметров подключения

Создайте проект dbt (коллекцию связанных каталогов и файлов, необходимых для использования dbt). Затем вы настроите профили подключений, содержащие параметры подключения к вычислительным ресурсам Azure Databricks, хранилищу SQL или обоим. Чтобы повысить безопасность, проекты и профили dbt по умолчанию хранятся в разных расположениях.

  1. При активации виртуальной среды выполните команду dbt init с именем проекта. В этом примере процедуры создается проект с именем my_dbt_demo.

    dbt init my_dbt_demo
    
  2. При появлении запроса на выбор databricks или spark базу данных введите номер, соответствующий databricks.

  3. При появлении запроса на host получение значения выполните следующие действия:

  4. При появлении запроса на http_path получение значения выполните следующие действия:

  5. Чтобы выбрать тип проверки подлинности, введите номер, соответствующий use oauth (рекомендуется) или use access token.

  6. Если вы выбрали use access token тип проверки подлинности, введите значение личного маркера доступа Azure Databricks.

    Примечание.

    В качестве рекомендации по обеспечению безопасности при проверке подлинности с помощью автоматизированных средств, систем, сценариев и приложений Databricks рекомендуется использовать личные маркеры доступа, принадлежащие субъектам-службам, а не пользователям рабочей области. Сведения о создании маркеров для субъектов-служб см. в разделе "Управление маркерами" для субъекта-службы.

  7. При появлении запроса на desired Unity Catalog option значение введите номер, соответствующий use Unity Catalog или not use Unity Catalog.

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

  9. Введите нужные значения для schema и threads при появлении соответствующего запроса.

  10. dbt записывает данные в файл profiles.yml. Расположение этого файла указывается в выходных данных команды dbt init. Это расположение также можно вывести позже, выполнив команду dbt debug --config-dir. Теперь этот файл можно открыть, чтобы изучить и проверить его содержимое.

    Если вы выбрали use oauth тип проверки подлинности, добавьте профиль проверки подлинности "компьютер — компьютер" (M2M) или " profiles.ymlпользователь — компьютер" (U2M).

    Примеры см. в статье Настройка входа Azure Databricks из dbt Core с идентификатором Microsoft Entra.

    Databricks не рекомендует указывать секреты profiles.yml напрямую. Вместо этого задайте идентификатор клиента и секрет клиента в качестве переменных среды.

  11. Подтвердите сведения о подключении, выполнив dbt debug команду в каталоге my_dbt_demo .

    Если вы выбрали use oauth тип проверки подлинности, вам будет предложено войти в систему с помощью поставщика удостоверений.

    Внимание

    Перед началом работы убедитесь, что выполняется вычисление или хранилище SQL.

    Вы должны увидеть результат, аналогичный приведенному ниже:

    cd my_dbt_demo
    dbt debug
    
    ...
    Configuration:
      profiles.yml file [OK found and valid]
      dbt_project.yml file [OK found and valid]
    
    Required dependencies:
      - git [OK found]
    
    Connection:
      ...
      Connection test: OK connection ok
    

Следующие шаги

Дополнительные ресурсы