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

Настройка Hybrid

Настройте проекты Hybrid для загрузки артефактов dbt v1 в dbt, чтобы улучшить совместную работу и прозрачность.

Доступно в рамках публичного предварительного тестирования

Проекты Hybrid доступны в рамках публичного предварительного тестирования для аккаунтов dbt Enterprise.

Настройка гибридных проектов​

В гибридном проекте вы используете dbt v1 локально и можете загружать артефакты этого проекта dbt v1 в dbt для централизованного просмотра, ссылок между проектами и более удобной совместной работы.

Для такой настройки необходимо связать проект dbt v1 с проектом dbt, а также настроить несколько переменных окружения и параметров доступа.

Выполните следующие шаги, чтобы настроить гибридный проект dbt и загрузить артефакты dbt v1 в dbt:

Обязательно включите переключатель гибридных проектов на странице Настройки аккаунта в dbt.

Сделайте модели dbt общедоступными (необязательно)​

Этот шаг необязателен и нужен только в том случае, если вы хотите предоставить другим проектам dbt доступ к моделям dbt v1 с помощью функции ссылок между проектами.

Прежде чем связать проект dbt v1 с проектом dbt, убедитесь, что в конфигурации моделей, к которым вы хотите предоставить доступ, указано access: public. Эта настройка делает такие модели видимыми для других проектов dbt, упрощая совместную работу, например использование ссылок между проектами.

  1. Самый простой способ задать это — через файл dbt_project.yml, однако вы также можете указать настройку в следующих местах:

    • dbt_project.yml (на уровне проекта)
    • properties.yml (для отдельных моделей)
    • .sql‑файл модели с использованием блока config

    Ниже приведён пример dbt_project.yml, в котором каталог marts объявлен публичным, чтобы его могли использовать downstream‑инструменты:

    dbt_project.yml
    models:
    define_public_models: # This is my project name, remember it must be specified
    marts:
    +access: public
  2. После определения access: public повторно выполните команду dbt в интерфейсе командной строки (CLI) dbt v1 (например, dbt run), чтобы применить изменение.

  3. Подробнее о настройке читайте в разделах access modifier и access config.

Создайте гибридный проект​

Создайте гибридный проект в dbt, чтобы загружать артефакты dbt v1 в dbt.

Администратор аккаунта dbt должен выполнить следующие действия и передать пользователю dbt v1 сведения для загрузки артефактов:

  1. Чтобы создать новый проект в dbt, перейдите в Account home.
  2. Нажмите +New project.
  3. Заполните поле Project name. Выберите название, по которому будет понятно, что это проект dbt v1.
    • Настраивать хранилище данных или подключение к Git не требуется. Однако для преобразования гибридного проекта в полноценный проект dbt потребуется настроить хранилище данных и подключение к Git.
  4. Раскройте Advanced settings, а затем установите флажок Hybrid development. Нажмите Continue.
    • В списке проектов гибридный проект будет отмечен индикатором Hybrid, чтобы его было проще найти.
Создание нового гибридного проектаСоздание нового гибридного проекта
  1. После создания проекта создайте для него производственную среду и нажмите Save. Для сохранения потребуется создать временный профиль и назначить его среде.
  2. (Необязательно) Чтобы преобразовать существующий проект dbt в гибридный, перейдите в Account settings, а затем выберите Project. Нажмите Edit и установите флажок Hybrid development.
Преобразование существующего проекта в гибридныйПреобразование существующего проекта в гибридный

Создание служебного токена и получение значений для загрузки артефактов​

Администратор dbt должен выполнить следующие действия, чтобы создать служебный токен (с разрешениями Job Runner и Job Viewer) и скопировать значения, необходимые для настройки проекта dbt v1 для загрузки сгенерированных артефактов в dbt.

Администратор dbt должен передать эти значения пользователю dbt v1.

  1. Перейдите в среду гибридного проекта, созданную на предыдущем шаге: откройте Deploy > Environments и выберите нужную среду.
  2. Нажмите кнопку 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, чтобы получить необходимые разрешения или попросить его создать служебный токен для вас.
Создание служебного токена для гибридного проектаСоздание служебного токена для гибридного проекта
  1. Обязательно скопируйте и сохраните эти значения — они понадобятся для настройки проекта dbt v1 на следующем шаге. После создания service token получить его повторно невозможно.

Настройте проект dbt и загрузите артефакты​

Получив значения с предыдущего шага, вы можете подготовить проект dbt v1 к загрузке артефактов, выполнив следующие действия:

  1. Проверьте версию dbt, выполнив dbt --version. Вы должны увидеть примерно следующее:

       Core:
    - installed: 1.11.0
    - latest: 1.11.0 - Up to date!
  2. Если у вас не установлена последняя поддерживаемая версия, обновите свой проект dbt v1, выполнив python -m pip install --upgrade dbt-core.

  3. Задайте следующие переменные окружения в своём проекте 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 на имя переменной.
  4. В локальном проекте 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
  5. После того как вы зададите переменные окружения с помощью команды 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
  6. После завершения запуска вы должны увидеть сообщение Artifacts uploaded successfully to artifact ingestion API: command run completed successfully и запуск в dbt в вашей производственной среде.

Просмотр артефактов на платформе dbt​

Теперь, когда вы загрузили артефакты dbt v1 на dbt platform и выполнили dbt run, вы можете просмотреть запуск задания по загрузке артефактов:

  1. Перейдите в раздел Deploy
  2. Нажмите Jobs, а затем откройте вкладку Runs.
  3. Вы должны увидеть запуск задания со статусом Success и индикатором </> Artifact ingestion.
  4. Нажмите на запуск задания, чтобы просмотреть журналы и убедиться, что в них есть сообщение об успешной загрузке артефактов. Если возникли ошибки, изучите отладочные журналы и устраните их.
Запуск job в hybrid‑проекте с импортом артефактовЗапуск job в hybrid‑проекте с импортом артефактов

Преимущества гибридных проектов​

Теперь, когда вы интегрировали артефакты dbt v1 в свой проект dbt, вы можете:

  • Сотрудничайте с пользователями dbt, предоставляя им возможность визуализировать модели dbt из проектов dbt v1 и создавать межпроектные ссылки на эти модели.
  • Пользователи dbt v1 могут перейти в Catalog и просматривать свои модели и ресурсы. Для просмотра Catalog необходимо иметь место с доступом только для чтения.

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

0
Loading