Быстрый старт с dbt Core, используя GitHub Codespaces
Введение
В этом руководстве по быстрому старту вы научитесь создавать codespace и сможете выполнить команду dbt build
из него менее чем за 5 минут.
dbt Labs предоставляет шаблон GitHub Codespace, который вы (и любой другой пользователь) можете использовать для создания полноценной среды dbt с работающим и исполняемым проектом. Когда вы создаете codespace, dev container создает полностью функционирующую среду dbt, подключается к базе данных DuckDB и загружает год данных из нашего вымышленного кафе Jaffle Shop, которое продает еду и напитки в нескольких городах США. README для шаблона Jaffle Shop также предоставляет инструкции о том, как это сделать, вместе с анимированными GIF.
Предварительные требования
- Чтобы использовать интерфейс командной строки (CLI) dbt, важно знать некоторые основы работы с терминалом. В частности, вы должны понимать команды
cd
,ls
иpwd
, чтобы легко перемещаться по структуре каталогов вашего компьютера. - У вас есть аккаунт GitHub.
Связанные материалы
- Создать репозиторий на GitHub
- Создать свои первые модели
- Тестировать и документировать ваш проект
- Запланировать задачу
- Узнайте больше с курсами dbt Learn
Создание codespace
-
Перейдите в репозиторий
jaffle-shop-template
repository после входа в ваш аккаунт GitHub. -
Нажмите Use this template в верхней части страницы и выберите Create new repository.
-
Нажмите Create repository from template, когда закончите настройку параметров для вашего нового репозитория.
-
Нажмите Code (в верхней части страницы нового репозитория). На вкладке Codespaces выберите Create codespace on main. В зависимости от того, как вы настроили параметры вашего компьютера, это либо откроет новую вкладку браузера с средой разработки Codespace с запущенным VSCode, либо откроет новое окно VSCode с codespace.
-
Подождите, пока codespace завершит сборку, дождавшись завершения команды
postCreateCommand
; это может занять несколько минут:Когда эта команда завершится, в ы можете начать использовать среду разработки codespace. Терминал, в котором выполнялась команда, закроется, и вы получите приглашение в совершенно новом терминале.
-
В приглашении терминала вы можете выполнить любую команду dbt, которую хотите. Например:
/workspaces/test (main) $ dbt build
Вы также можете использовать duckcli для написания SQL-запросов к хранилищу из командной строки или создания отчетов в проекте Evidence, предоставленном в каталоге
reports
.Для получения полной информации обратитесь к справочнику команд dbt. Общие команды:
- dbt compile — генерирует исполняемый SQL из файлов исходного кода вашего проекта
- dbt run — компилирует и выполняет ваш проект
- dbt test — компилирует и тестирует ваш проект
- dbt build — компилирует, выполняет и тестирует ваш проект
Генерация большего набора данных
Если вы хотите работать с более крупным набором данных Jaffle Shop, вы можете сгенерировать произвольное количество лет вымышленных данных из вашего codespace.
-
Установите Python-пакет под названием jafgen. В приглашении терминала выполните:
/workspaces/test (main) $ python -m pip install jafgen
-
Когда установка завершится, выполните:
/workspaces/test (main) $ jafgen --years NUMBER_OF_YEARS
Замените
NUMBER_OF_YEARS
на количество лет, которое вы хотите сымитировать. Эта команда создает CSV-файлы и сохраняет их в папкеjaffle-data
, и они автоматически подключаются на основе файлаsources.yml
и адаптера dbt-duckdb.
По мере увеличения количества лет, требуется экспоненциально больше времени для генерации данных, так как магазины Jaffle Shop увеличиваются в размере и количестве. Для хорошего баланса между размером данных и временем сборки, dbt Labs предлагает максимум 6 лет.