Настройка Hybrid
Настройте проекты Hybrid для загрузки артефактов dbt v1 в dbt, чтобы улучшить совместную работу и прозрачность.
Проекты Hybrid доступны в рамках публичного предварительного тестирования для аккаунтов dbt Enterprise.
Настройка гибридных проектов
В гибридном проекте вы используете dbt v1 локально и можете загружать артефакты этого проекта dbt v1 в dbt для централизованного просмотра, ссылок между проектами и более удобной совместной работы.
Для такой настройки необходимо связать проект dbt v1 с проектом dbt, а также настроить несколько переменных окружения и параметров доступа.
Выполните следующие шаги, чтобы настроить гибридный проект dbt и загрузить артефакты dbt v1 в dbt:
- Сделайте модели dbt общедоступными (необязательно)
- Создайте гибридный проект
- Создайте сервисный токен и получите значения для загрузки артефактов
- Настройте проект dbt v1 и загрузите артефакты
- Просмотрите артефакты в dbt
Обязательно включите переключатель гибридных проектов на странице Настройки аккаунта в dbt.
Сделайте модели dbt общедоступными (необязательно)
Этот шаг необязателен и нужен только в том случае, если вы хотите предоставить другим проектам dbt доступ к моделям dbt v1 с помощью функции ссылок между проектами.
Прежде чем связать проект dbt v1 с проектом dbt, убедитесь, что в конфигурации моделей, к которым вы хотите предоставить доступ, указано access: public. Эта настройка делает такие модели видимыми для других проектов dbt, упрощая совместную работу, например использование ссылок между проектами.
-
Самый простой способ задать это — через файл
dbt_project.yml, однако вы также можете указать настройку в следующих местах:dbt_project.yml(на уровне проекта)properties.yml(для отдельных моделей).sql‑файл модели с использованием блокаconfig
Ниже приведён пример
dbt_project.yml, в котором каталог marts объявлен публичным, чтобы его могли использовать downstream‑инструменты:dbt_project.ymlmodels:
define_public_models: # This is my project name, remember it must be specified
marts:
+access: public -
После определения
access: publicповторно выполните команду dbt в интерфейсе командной строки (CLI) dbt v1 (например,dbt run), чтобы применить изменение. -
Подробнее о настройке читайте в разделах access modifier и
accessconfig.
Создайте гибридный проект
Создайте гибридный проект в dbt, чтобы загружать артефакты dbt v1 в dbt.
Администратор аккаунта dbt должен выполнить следующие действия и передать пользователю dbt v1 сведения для загрузки артефактов:
- Чтобы создать новый проект в dbt, перейдите в Account home.
- Нажмите +New project.
- Заполните поле Project name. Выберите название, по которому будет понятно, что это проект dbt v1.
- Настраивать хранилище данных или подключение к Git не требуется. Однако для преобразования гибридного проекта в полноценный проект dbt потребуется настроить хранилище данных и подключение к Git.
- Раскройте Advanced settings, а затем установите флажок Hybrid development. Нажмите Continue.
- В списке проектов гибридный проект будет отмечен индикатором Hybrid, чтобы его было проще найти.
- После создания проекта создайте для него производственную среду и нажмите Save. Для сохранения потребуется создать временный профиль и назначить его среде.
- (Необязательно) Чтобы преобразовать существующий проект dbt в гибридный, перейдите в Account settings, а затем выберите Project. Нажмите Edit и установите флажок Hybrid development.
Создание служебного токена и получение значений для загрузки артефактов
Администратор dbt должен выполнить следующие действия, чтобы создать служебный токен (с разрешениями Job Runner и Job Viewer) и скопировать значения, необходимые для настройки проекта dbt v1 для загрузки сгенерированных артефактов в dbt.
Администратор dbt должен передать эти значения пользователю dbt v1.
- Перейдите в среду гибридного проекта, созданную на предыдущем шаге: откройте Deploy > Environments и выберите нужную среду.
- Нажмите кнопку Artifact upload и скопируйте следующие значения, которые пользователю dbt v1 потребуется указать в файле конфигурации
dbt_project.ymlсвоего проекта dbt v1:- Tenant URL
- Account ID
- Environment ID
- Create a service token
- dbt создаёт служебный токен с разрешениями Job Runner и Job Viewer.
- Обратите внимание: если кнопка Create service token не отображается, скорее всего, у вас нет необходимых разрешений для создания служебного токена. Обратитесь к администратору dbt, чтобы получить необходимые разрешения или попросить его создать служебный токен для вас.
- Обязательно скопируйте и сохраните эти значения — они понадобятся для настройки проекта dbt v1 на следующем шаге. После создания service token получить его повторно невозможно.
Настройте проект dbt и загрузите артефакты
Получив значения с предыдущего шага, вы можете подготовить проект dbt v1 к загрузке артефактов, выполнив следующие действия:
-
Проверьте версию dbt, выполнив
dbt --version. Вы должны увидеть примерно следующее:Core:
- installed: 1.11.0
- latest: 1.11.0 - Up to date! -
Если у вас не установлена последняя поддерживаемая версия, обновите свой проект dbt v1, выполнив
python -m pip install --upgrade dbt-core. -
Задайте следующие переменные окружения в своём проекте dbt v1, выполнив следующие команды в CLI. Замените
your_account_id,your_environment_idиyour_tokenфактическими значениями из предыдущего шага.export DBT_CLOUD_ACCOUNT_ID=your_account_id
export DBT_CLOUD_ENVIRONMENT_ID=your_environment_id
export DBT_CLOUD_TOKEN=your_token
export DBT_ENGINE_UPLOAD_TO_ARTIFACTS_INGEST_API=True- Задавайте переменные окружения тем способом, который используется в вашем проекте.
- Чтобы удалить переменную окружения, выполните
unset environment_variable_name, заменивenvironment_variable_nameна имя переменной.
-
В локальном проекте dbt v1 добавьте следующие элементы, скопированные в предыдущем разделе, в файл
dbt_project.ymlпроекта dbt v1:tenant_hostname
name: "jaffle_shop"
version: "3.0.0"
require-dbt-version: ">=1.5.0"
....rest of dbt_project.yml configuration...
dbt-cloud:
tenant_hostname: cloud.getdbt.com # Replace with your Tenant URL -
После того как вы зададите переменные окружения с помощью команды
exportв том же сеансе dbt CLI, вы можете выполнить командуdbt runв CLI.dbt runЧтобы переопределить заданные переменные окружения, выполните
dbt runс префиксом переменных окружения. Например, чтобы использовать другой Account ID и Environment ID:DBT_CLOUD_ACCOUNT_ID=1 DBT_CLOUD_ENVIRONMENT_ID=123 dbt run -
После завершения запуска вы должны увидеть сообщение
Artifacts uploaded successfully to artifact ingestion API: command run completed successfullyи запуск в dbt в вашей производственной среде.
Просмотр артефактов на платформе dbt
Теперь, когда вы загрузили артефакты dbt v1 на dbt platform и выполнили dbt run, вы можете просмотреть запуск задания по загрузке артефактов:
- Перейдите в раздел Deploy
- Нажмите Jobs, а затем откройте вкладку Runs.
- Вы должны увидеть запуск задания со статусом Success и индикатором
</> Artifact ingestion. - Нажмите на запуск задания, чтобы просмотреть журналы и убедиться, что в них есть сообщение об успешной загрузке артефактов. Если возникли ошибки, изучите отладочные журналы и устраните их.
Преимущества гибридных проектов
Теперь, когда вы интегрировали артефакты dbt v1 в свой проект dbt, вы можете:
- Сотрудничайте с пользователями dbt, предоставляя им возможность визуализировать модели dbt из проектов dbt v1 и создавать межпроектные ссылки на эти модели.
- Пользователи dbt v1 могут перейти в Catalog и просматривать свои модели и ресурсы. Для просмотра Catalog необходимо иметь место с доступом только для чтения.



