Гибридная настройка Enterprise +
Настройте Hybrid‑проекты, чтобы загружать артефакты dbt Core в dbt и получить лучшую совместную работу и прозрачность.
Hybrid‑проекты доступны в режиме публичного превью для Enterprise‑аккаунтов dbt.
Настройка гибридных проектов
В Hybrid‑проекте вы используете dbt Core локально и можете загружать артефакты этого проекта dbt Core в dbt для централизованной видимости, кросс‑проектных ссылок и более удобного сотрудничества.
Такая конфигурация требует подключения вашего проекта dbt Core к проекту dbt, а также настройки нескольких переменных окружения и параметров доступа.
Следуйте этим шагам, чтобы настроить Hybrid‑проект в dbt и загрузить артефакты dbt Core в dbt:
- Сделать модели dbt Core публичными (опционально)
- Создать hybrid‑проект
- Сгенерировать service token и значения для загрузки артефактов
- Настроить проект dbt Core и загрузить артефакты
- Просмотреть артефакты в dbt
Убедитесь, что в dbt на странице Account settings включён переключатель hybrid‑проектов.
Сделайте модели dbt Core публичными (необязательно)
Этот шаг является необязательным и нужен только в том случае, если вы хотите делиться своими моделями dbt Core с другими проектами dbt с помощью функции cross-project referencing.
Перед подключением проекта dbt Core к проекту dbt убедитесь, что модели, которыми вы хотите делиться, имеют access: public в конфигурации модели. Эта настройка делает такие модели видимыми для других проектов dbt и упрощает совместную работу, например при использовании cross-project referencing.
-
Самый простой способ задать это — через файл
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 в интерфейсе командной строки dbt Core (CLI), напримерdbt run, чтобы применить изменения. -
Подробнее о настройке читайте в разделах access modifier и
accessconfig.
Создайте гибридный проект
Создайте hybrid‑проект в dbt, чтобы иметь возможность загружать артефакты dbt Core в dbt.
Администратор аккаунта dbt должен выполнить следующие шаги и передать информацию об артефактах пользователю dbt Core:
- Чтобы создать новый проект в dbt, перейдите на страницу Account home.
- Нажмите +New project.
- Заполните поле Project name. Назовите проект так, чтобы было понятно, что это проект dbt Core.
- Вам не нужно настраивать хранилище данных или подключение Git, однако для обновления hybrid‑проекта до полноценного проекта dbt эти настройки понадобятся.
- Включите переключатель Advanced settings, затем отметьте чекбокс Hybrid development и нажмите Continue.
- В списке проектов hybrid‑проект будет помечен индикатором Hybrid, чтобы его было легко отличить.
- После создания проекта создайте соответствующую production‑среду и нажмите Save. Обратите внимание, что поле Connection можно оставить пустым.
- (Опционально) Чтобы обновить существующий dbt‑проект до hybrid‑проекта, перейдите в Account settings, выберите Project, нажмите Edit и отметьте чекбокс Hybrid development.
Сгенерируйте service token и значения для загрузки артефактов
Администратор dbt должен выполнить эти шаги, чтобы сгенерировать service token (с правами Job Runner и Job Viewer) и скопировать значения, необходимые для настройки проекта dbt Core для загрузки артефактов в dbt.
Администратор dbt должен передать эти значения пользователю dbt Core.
- Перейдите в среду hybrid‑проекта, созданную на предыдущем шаге: Deploy > Environments, затем выберите нужную среду.
- Нажмите кнопку Artifact upload и скопируйте следующие значения, которые пользователю dbt Core понадобятся для настройки
dbt_project.yml:- Tenant URL
- Account ID
- Environment ID
- Create a service token
- dbt создаёт service token с правами Job Runner и Job Viewer.
- Если вы не видите кнопку Create service token, скорее всего, у вас нет необходимых прав. Обратитесь к администратору dbt, чтобы получить доступ или чтобы он создал token за вас.
- Обязательно скопируйте и сохраните эти значения — они понадобятся для настройки проекта dbt Core на следующем шаге. После создания service token получить его повторно невозможно.
Настройте dbt Core‑проект и загрузку артефактов
Получив значения с предыдущего шага, вы можете подготовить проект dbt Core к загрузке артефактов, выполнив следующие действия:
-
Проверьте версию dbt, выполнив
dbt --version. Вы должны увидеть примерно следующее:Core:
- installed: 1.10.0-b1
- latest: 1.9.3 - Ahead of latest version! -
Если у вас не установлена последняя версия (1.10 или выше), обновите dbt Core, выполнив
python -m pip install --upgrade dbt-core. -
Задайте следующие переменные окружения в проекте dbt Core, выполнив команды в 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_UPLOAD_TO_ARTIFACTS_INGEST_API=True- Задавайте переменные окружения тем способом, который используется в вашем проекте.
- Чтобы удалить переменную окружения, выполните
unset environment_variable_name, заменивenvironment_variable_nameна имя переменной.
-
В локальном проекте dbt Core добавьте в файл
dbt_project.ymlэлемент, скопированный на предыдущем шаге: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в той же сессии CLI dbt Core, выполнитеdbt run: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 в вашей production‑среде.
Просмотрите артефакты в dbt platform
После загрузки артефактов dbt Core в dbt platform и выполнения dbt run вы можете просмотреть запуск job с артефактами:
- Перейдите в Deploy
- Нажмите Jobs, затем откройте вкладку Runs
- Вы должны увидеть запуск со статусом Success и индикатором
</> Artifact ingestion - Откройте этот запуск, чтобы просмотреть логи и убедиться, что загрузка артефактов прошла успешно. Если есть ошибки, изучите debug‑логи для их устранения.
Преимущества использования hybrid‑проектов
Теперь, когда вы интегрировали артефакты dbt Core с проектом dbt, вы можете:
- Совместно работать с пользователями dbt, позволяя им визуализировать и использовать cross-project references для dbt‑моделей, которые находятся в Core‑проектах.
- (Скоро) Новые пользователи, заинтересованные в Canvas, смогут строить решения на основе dbt‑моделей, уже созданных центральной командой данных в dbt Core, вместо того чтобы начинать с нуля.
- Пользователи dbt Core смогут перейти в Catalog и просматривать свои модели и ассеты. Для доступа к Catalog требуется read‑only seat.



