Jinja şablonları

dbt'ye Giriş

Mike Metzger

Data Engineer

Şablon nedir?

  • Bilgi yerleştirmeye izin veren tanımlı bir format
  • Genellikle bir metin dosyası
  • Erişimi ve yeniden kullanımı kolaylaştırır
dbt'ye Giriş

Jinja nedir?

  • Basit, metin tabanlı bir şablonlama dili
  • Yalnızca dbt’de değil, birçok araçta kullanılır
  • {{ ... }} bir şablon yerleştirmesini ifade eder
  • dbt projelerinde kullanılabilecek birçok Jinja işlevi vardır
  • dbt’yi daha dinamik kullanmayı sağlar
  • Kodu sadeleştirmek için döngüler kullanılabilir
dbt'ye Giriş

dbt Jinja işlevleri

  • Mevcut birçok Jinja işlevinden bazıları
    • ref: Modellere ada göre erişim
    • config: Yapılandırma ayarlarına erişim
    • docs: Belgelerle ilgili bilgilere erişim
    • Hesaplamalar, döngüler vb.
dbt'ye Giriş

Jinja örneği

  • Jinja olmadan
    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 ile
    SELECT
    {% for column in ['start_date', 'update_date', 'end_date'] %}
    COALESCE({{column}}, '2025-01-01') as {{column}}
    {% endfor %}
    FROM Events
    
dbt'ye Giriş

Hadi pratik yapalım!

dbt'ye Giriş

Preparing Video For Download...