Шаблони Jinja

Вступ до dbt

Mike Metzger

Data Engineer

Що таке шаблон?

  • Визначений формат із підстановкою інформації
  • Зазвичай текстовий файл
  • Спрощує доступ і повторне використання
Вступ до dbt

Що таке Jinja?

  • Проста текстова мова шаблонів
  • Використовується в багатьох інструментах, не лише в dbt
  • {{ ... }} означає підстановку шаблону
  • У dbt доступно багато функцій Jinja для проєктів
  • Дозволяє робити dbt динамічнішим
  • Можна використовувати цикли for, щоб спростити код
Вступ до dbt

Функції Jinja в dbt

  • Деякі з численних функцій Jinja
    • ref: доступ до моделей за назвою
    • config: доступ до налаштувань конфігурації
    • docs: доступ до документації
    • Обчислення, цикли тощо
Вступ до dbt

Приклад Jinja

  • Без Jinja
    SELECT
    COALESCE(start_date, '2025-01-01') as start_date,
    COALESCE(update_date, '2025-01-01') as update_date,
    COALESCE(end_date, '2025-01-01') as end_date
    FROM Events
    
  • З Jinja
    SELECT
    {% for column in ['start_date', 'update_date', 'end_date'] %}
    COALESCE({{column}}, '2025-01-01') as {{column}}
    {% endfor %}
    FROM Events
    
Вступ до dbt

Давайте потренуємось!

Вступ до dbt

Preparing Video For Download...