Обзор: практический пример dbt

Практический пример: построение моделей данных для электронной коммерции с помощью dbt

Susan Sun

Freelance Data Scientist

Глава 1: Настройка dbt

  1. Настройка:

    • Проверка установки: dbt --versions, which dbt
    • Инициализация dbt: dbt init
  2. Загрузка данных:

    • Загрузка seed-файлов dbt (например, центр дистрибуции): dbt seed
    • Загрузка source-файлов dbt. Например: {{ source('looker_ecommerce', 'orders') }}
  3. Обзор подкоманд dbt: dbt run, dbt test, dbt build

  4. Обзор файловой и папочной структуры проекта dbt

Практический пример: построение моделей данных для электронной коммерции с помощью dbt

Глава 2: Создание моделей dbt

  1. Создание staging-, mart- и snapshot-моделей dbt
  2. Добавление документации к таблицам/столбцам и тестов данных dbt

Диаграмма направленного ациклического графа, отображающая все источники и модели dbt и их взаимосвязи. Источники выделены зелёным цветом. Модели и витрины данных — синим.

Практический пример: построение моделей данных для электронной коммерции с помощью dbt

Глава 3: Jinja и dbt

  1. Сокращение дублирования кода с помощью выражений Jinja: set, loop, macros
  2. Использование dbt compile и управления пробельными символами при разработке
{%- set order_statuses = ['Shipped', 'Complete', 'Processing'] -%}

SELECT 
    user_id,
    {%- for order_status in order_statuses %}
        COUNT(DISTINCT CASE WHEN status = '{{ order_status }}' THEN order_id END) 
        AS num_orders_{{ order_status }}
    {%- endfor %}
FROM {{ ref('stg_looker__orders') }}
GROUP BY 1
Практический пример: построение моделей данных для электронной коммерции с помощью dbt

Поздравляем!

Практический пример: построение моделей данных для электронной коммерции с помощью dbt

Preparing Video For Download...