Подключение к 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 по умолчанию хранятся в разных расположениях.
При активации виртуальной среды выполните команду dbt init с именем проекта. В этом примере процедуры создается проект с именем
my_dbt_demo
.dbt init my_dbt_demo
При появлении запроса на выбор
databricks
илиspark
базу данных введите номер, соответствующийdatabricks
.При появлении запроса на
host
получение значения выполните следующие действия:- Для вычисления введите значение имени узла сервера на вкладке "Дополнительные параметры" (JDBC/ODBC ) для вычислений Azure Databricks.
- Введите значение Имя узла сервера с вкладки Сведения о подключении для хранилища SQL.
При появлении запроса на
http_path
получение значения выполните следующие действия:- Для вычисления введите значение пути HTTP на вкладке "Дополнительные параметры" (JDBC/ODBC ) для вычислений Azure Databricks.
- Введите значение Путь HTTP с вкладки Сведения о подключении для хранилища SQL.
Чтобы выбрать тип проверки подлинности, введите номер, соответствующий
use oauth
(рекомендуется) илиuse access token
.Если вы выбрали
use access token
тип проверки подлинности, введите значение личного маркера доступа Azure Databricks.Примечание.
В качестве рекомендации по обеспечению безопасности при проверке подлинности с помощью автоматизированных средств, систем, сценариев и приложений Databricks рекомендуется использовать личные маркеры доступа, принадлежащие субъектам-службам, а не пользователям рабочей области. Сведения о создании маркеров для субъектов-служб см. в разделе "Управление маркерами" для субъекта-службы.
При появлении запроса на
desired Unity Catalog option
значение введите номер, соответствующийuse Unity Catalog
илиnot use Unity Catalog
.Если вы решили использовать каталог Unity, введите требуемое значение
catalog
при появлении запроса.Введите нужные значения для
schema
иthreads
при появлении соответствующего запроса.dbt записывает данные в файл
profiles.yml
. Расположение этого файла указывается в выходных данных командыdbt init
. Это расположение также можно вывести позже, выполнив командуdbt debug --config-dir
. Теперь этот файл можно открыть, чтобы изучить и проверить его содержимое.Если вы выбрали
use oauth
тип проверки подлинности, добавьте профиль проверки подлинности "компьютер — компьютер" (M2M) или "profiles.yml
пользователь — компьютер" (U2M).Примеры см. в статье Настройка входа Azure Databricks из dbt Core с идентификатором Microsoft Entra.
Databricks не рекомендует указывать секреты
profiles.yml
напрямую. Вместо этого задайте идентификатор клиента и секрет клиента в качестве переменных среды.Подтвердите сведения о подключении, выполнив
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
Следующие шаги
- Создание, запуск и тестирование моделей dbt Core локально. Ознакомьтесь с руководством по dbt Core.
- Запустите проекты dbt Core в качестве задач задания Azure Databricks. См. статью "Использование преобразований dbt" в задании Azure Databricks.