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

Клонирование примера проекта Jaffle Shop

dbt
Начальный уровень
Начальный уровень
Menu

    Что такое Jaffle Shop?​

    Jaffle Shop — эталонный пример проекта dbt от dbt Labs для вымышленного кафе. В этом руководстве показано, как клонировать проект из GitHub или GitLab с помощью Git.

    При клонировании на ваш компьютер загружаются файлы проекта dbt: модели, seed-файлы, тесты и конфигурация. При этом dbt не устанавливается и база данных не настраивается. Если вам нужны только файлы проекта, следуйте инструкциям в разделах Клонирование репозитория и Проверка клонирования.

    Для выполнения команд dbt, таких как dbt seed, dbt run и dbt test, также необходимо установить dbt и подключиться к базе данных. Ссылки на руководства по быстрому старту для хранилищ данных приведены в разделе Дальнейшие шаги.

    Связанные материалы​

    Предварительные требования​

    • Установленный Git
    • Терминал
    • Учетная запись GitHub или GitLab (только если вы планируете создать форк репозитория, отправлять изменения или клонировать закрытый репозиторий)

    Убедитесь, что Git установлен:

    git --version

    Клонирование репозитория​

    1. Откройте терминал и перейдите в каталог, в котором вы храните проекты:

      cd ~/Documents/Github
    2. Клонируйте репозиторий:

      git clone https://github.com/dbt-labs/jaffle-shop.git
    3. Перейдите в каталог проекта:

      cd jaffle-shop

    Проверка клонирования​

    Убедитесь, что файлы проекта на месте:

    ls

    Среди файлов и папок должны быть:

    • dbt_project.yml
    • models/
    • seeds/
    • packages.yml

    Клонирование завершено! 🎉 Теперь файлы проекта Jaffle Shop находятся на вашем компьютере.

    Изучение структуры проекта​

    Прежде чем устанавливать dbt или подключать базу данных, кратко ознакомьтесь с содержимым клонированного проекта. Jaffle Shop — вымышленное кафе. Проект содержит 13 моделей, которые преобразуют данные кафе о клиентах, заведениях (точках продаж), продуктах, расходных материалах и заказах.

    В проект также входят:

    • Seed-файлы: шесть CSV-файлов в seeds/jaffle-data/, содержащих исходные данные для примера.
    • Тесты данных и модульные тесты: YAML-файлы рядом с моделями, содержащие проверки уникальности, отсутствия значений null и несколько сценариев модульного тестирования.
    • Макросы: небольшие вспомогательные макросы в macros/.
    • Пакеты: зависимости, перечисленные в packages.yml (их можно установить позже с помощью dbt deps).

    Упрощенная структура проекта выглядит так:

    jaffle-shop/
    ├── dbt_project.yml
    ├── packages.yml
    ├── models/
    │ ├── staging/ # Clean and rename raw tables
    │ │ ├── stg_customers.sql
    │ │ ├── stg_orders.sql
    │ │ ├── stg_order_items.sql
    │ │ ├── stg_products.sql
    │ │ ├── stg_locations.sql
    │ │ ├── stg_supplies.sql
    │ │ └── __sources.yml
    │ └── marts/ # Business-ready tables for the cafe
    │ ├── customers.sql
    │ ├── orders.sql
    │ ├── order_items.sql
    │ ├── products.sql
    │ ├── locations.sql
    │ ├── supplies.sql
    │ └── metricflow_time_spine.sql
    ├── seeds/
    │ └── jaffle-data/ # Sample CSV data (customers, orders, and more)
    ├── macros/
    ├── analyses/
    └── data-tests/

    Модели слоя staging ближе всего к исходным данным из seed-файлов. Модели слоя marts объединяют и преобразуют эти данные в таблицы, используемые для анализа. Пока не обязательно читать каждый файл. Такая структура соответствует стандартному шаблону проекта dbt, который встречается во многих реальных проектах.

    Дальнейшие шаги​

    Для запуска проекта или работы над ним необходимо установить dbt и настроить подключение к базе данных. Вам могут пригодиться следующие ссылки:

    Быстрый старт для хранилищ данных​

    Для запуска проекта необходимо настроить базу данных и адаптер в profiles.yml. Выберите руководство по быстрому старту для своего хранилища данных или локальной среды:

    Вы также можете просмотреть все руководства или другие примеры проектов dbt.

    Удаление проекта (необязательно)​

    Если вы клонировали репозиторий только для проверки этих шагов и проект вам больше не нужен, можно удалить папку:

    rm -rf ~/Documents/Github/jaffle-shop

    Эта команда удаляет клонированный проект с вашего компьютера. Она не затрагивает репозиторий в GitHub или GitLab.

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

    0