Model hierarkis di dbt

Pengantar dbt

Mike Metzger

Data Engineer

Apa itu hierarki di dbt?

  • Mewakili dependensi dalam proyek dbt
  • Juga dikenal sebagai directed acyclic graph (DAG) atau grafik garis keturunan
    • Khusus untuk dbt, bukan DAG umum
  • Memungkinkan model dibangun/diperbarui sesuai dependensi

DAG dbt / Grafik garis keturunan

Pengantar dbt

Detail hierarki

  • avg_fare_per_day dan total_creditcard_riders_per_day bergantung pada taxi_rides_raw
  • dbt membangun taxi_rides_raw terlebih dahulu
  • dbt membuat entri secara alfabet jika tanpa grafik garis keturunan
    • avg_fare_per_day akan gagal tanpa taxi_rides_raw

DAG dbt / Grafik garis keturunan

Pengantar dbt

Bagaimana hierarki didefinisikan?

  • Dibuat dengan bahasa templat Jinja di file model
  • Paling sering memakai fungsi ref
  • Ganti nama tabel dengan {{ ref('model_name') }} di SQL
  • (Re)materialisasi tabel dengan dbt run
  • Templat ref diganti dengan nama tabel sebenarnya
Pengantar dbt

Contoh hierarki

SELECT 
  first_name, last_name
FROM taxi_rides_raw
SELECT 
  first_name, last_name
FROM {{ ref('taxi_rides_raw') }}
Pengantar dbt

Ayo berlatih!

Pengantar dbt

Preparing Video For Download...