Создание dbt-проекта

Введение в dbt

Mike Metzger

Data Engineer

Что такое dbt-проект

  • Включает компоненты для работы с данными в dbt

    • Конфигурация проекта
    • Источники и приёмники данных
    • SQL-запросы
    • Шаблоны
    • Документация
  • Реализован в виде структуры папок

Структура папок dbt

Введение в dbt

Как создать новый проект

  • Используйте команду dbt init
    • Запрашивает имя проекта
    • Запрашивает тип базы данных / хранилища
  • Можно сократить до dbt init <projectname>
  • Создаёт корневую папку проекта со всей необходимой структурой
repl:~/workspace$ dbt init
16:38:37  Running with dbt=1.8.4
Enter a name for your project (letters, digits, underscore): test_project
Which database would you like to use? [1] duckdb
Enter a number: 1
...
Введение в dbt

Настройка конфигурации с помощью профилей проекта

  • Профиль описывает конкретный сценарий развёртывания
    • Разработка
    • Стейджинг / тестирование
    • Продакшн
  • dbt-проект может иметь несколько профилей
  • Определяются в файле profiles.yml
marketing_campaign_results:
  outputs:
    dev:
      type: duckdb
      path: dbt.duckdb
    prod:
      type: snowflake
      ...
  target: dev
Введение в dbt

YAML

  • Yet Another Markup Language
  • Текстовый файл, в котором важны отступы (как в Python)
  • Широко используется для конфигурации в разработке
  • Правила могут быть непростыми — главное выравнивать записи, как в примерах
marketing_campaign_results:
  outputs:
    dev:
      type: duckdb
      path: dbt.duckdb
    prod:
      type: snowflake
      ...
  target: dev
Введение в dbt

DuckDB

  • Бессерверная база данных с открытым исходным кодом
    • Похожа на sqlite
  • Разработана для аналитики
  • Векторизованная (то есть БЫСТРАЯ)
  • Проста в использовании

логотип duckdb

Введение в dbt

Давайте потренируемся!

Введение в dbt

Preparing Video For Download...