dbt में Hierarchical models

dbt परिचय

Mike Metzger

Data Engineer

dbt में hierarchy क्या है?

  • एक dbt प्रोजेक्ट के अंदर निर्भरताएँ दिखाता है
  • इसे directed acyclic graph (DAG) या lineage graph भी कहते हैं
    • ध्यान दें: यह dbt-विशिष्ट है, सामान्य DAG नहीं
  • निर्भरताओं के अनुसार मॉडल build/अपडेट करने देता है

dbt DAG / Lineage graph

dbt परिचय

Hierarchy विवरण

  • avg_fare_per_day और total_creditcard_riders_per_day की निर्भरता taxi_rides_raw पर है
  • dbt पहले taxi_rides_raw बनाता है
  • बिना lineage graph के dbt एंट्रियाँ alphabetically बनाता है
    • taxi_rides_raw के बिना avg_fare_per_day फेल होगा

dbt DAG / Lineage graph

dbt परिचय

Hierarchies कैसे परिभाषित होती हैं?

  • मॉडल फाइलों में Jinja template language से बनाया जाता है
  • अक्सर ref फंक्शन का उपयोग होता है
  • SQL में table नाम की जगह {{ ref('model_name') }} रखें
  • टेबल को (re-)materialize करने के लिए dbt run चलाएँ
  • ref टेम्पलेट्स वास्तविक table नामों से बदले जाते हैं
dbt परिचय

Hierarchy उदाहरण

SELECT 
  first_name, last_name
FROM taxi_rides_raw
SELECT 
  first_name, last_name
FROM {{ ref('taxi_rides_raw') }}
dbt परिचय

अभ्यास करते हैं!

dbt परिचय

Preparing Video For Download...