О проектах dbt
Проект dbt информирует dbt о контексте вашего проекта и о том, как трансформировать ваши данные (создавать наборы данных). По замыслу, dbt обеспечивает верхнеуровневую структуру проекта dbt, такую как файл dbt_project.yml, директорию models, директорию snapshots и так далее. В пределах верхнеуровневых директорий вы можете организовать свой проект любым способом, который соответствует потребностям вашей организации и конвейера данных.
Минимально, все, что нужно проекту, это файл конфигурации проекта dbt_project.yml. dbt поддерживает ряд различных ресурсов, поэтому проект может также включать:
| Loading table... |
При создании структуры вашего проекта вы должны учитывать следующие аспекты, влияющие на рабочий процесс вашей организации:
- Как люди будут запускать команды dbt — выбор подходящего пути
- Как люди будут перемещаться внутри проекта — будь то разработчики в Studio IDE или стейкхолдеры, работающие с документацией
- Как люди будут настраивать модели — некоторые массовые настройки проще выполнять на уровне директорий, чтобы людям не приходилось помнить о необходимости указывать всё в блоке
configдля каждой новой модели
Конфигурация проекта
Каждый проект dbt включает файл конфигурации проекта под названием dbt_project.yml. Он определяет директорию проекта dbt и другие конфигурации проекта.
Редактируйте dbt_project.yml, чтобы настроить общие конфигурации проекта, такие как:
| Loading table... |
Для получения полной информации о конфигурациях проекта, смотрите dbt_project.yml.
Поддиректории проекта
Вы можете использовать опцию Project subdirectory в dbt, чтобы указать подкаталог в вашем git‑репозитории, который dbt должен использовать в качестве корневого каталога проекта. Это удобно, если в одном репозитории у вас находится несколько dbt‑проектов или если вы хотите организовать файлы dbt‑проекта по подкаталогам для более удобного управления.
Чтобы использовать опцию Project subdirectory в dbt, выполните следующие шаги:
-
Нажмите на имя вашей учетной записи в левом нижнем углу и выберите Your profile.
-
В разделе Проекты выберите проект, который вы хотите настроить как поддиректорию проекта.
-
Выберите Редактировать в нижнем правом углу страницы.
-
В поле Project subdirectory укажите имя подкаталога. Например, если YAML‑файлы вашего проекта находятся в подкаталоге
<repository>/finance, необходимо указатьfinanceв качестве подкаталога.- Вы также можете указывать вложенные подкаталоги. Например, если YAML‑файлы вашего проекта находятся в
<repository>/teams/finance, в поле подкаталога следует указатьteams/finance. Примечание: в поле Project subdirectory не требуется указывать начальный или конечный символ/.
- Вы также можете указывать вложенные подкаталоги. Например, если YAML‑файлы вашего проекта находятся в
-
Нажмите Сохранить, когда закончите.
После настройки опции Project subdirectory, dbt будет использовать её как корневой каталог вашего dbt‑проекта. Это означает, что команды dbt, такие как dbt run или dbt test, будут выполняться над файлами внутри указанного подкаталога. Если в подкаталоге Project отсутствует файл dbt_project.yml, вам будет предложено инициализировать dbt‑проект.
Некоторые планы поддерживают только один dbt‑проект, тогда как планы уровня Enterprise позволяют работать с несколькими проектами и использовать межпроектные ссылки с помощью Mesh.
Новые проекты
Вы можете создавать новые проекты и делиться ими с другими людьми, размещая их в хостируемом git‑репозитории, таком как GitHub, GitLab или BitBucket.
После того как вы настроите подключение к вашей платформе данных, вы можете инициализировать новый проект в dbt и начать разработку. Либо выполните команду dbt init из командной строки, чтобы настроить новый проект.
Во время инициализации проекта dbt создает примерные файлы моделей в вашей директории проекта, чтобы помочь вам быстро начать разработку.
Примерные проекты
Если вы хотите более подробно изучить проекты dbt, вы можете клонировать Jaffle shop от dbt Lab на GitHub. Это исполняемый проект, который содержит примерные конфигурации и полезные заметки.
Если вы хотите увидеть, как выглядит зрелый, производственный проект, ознакомьтесь с публичным репозиторием команды данных GitLab.
Связанные материалы
- Лучшие практики: как мы структурируем наши dbt‑проекты
- Быстрый старт для dbt
- Быстрый старт для dbt Core