Case Study: dbt के साथ E-Commerce Data Models बनाना
Susan Sun
Freelance Data Scientist
dbt तीन भाषाएँ उपयोग करता है:
SQL का उदाहरण:
SELECT * FROM ...
YAML का उदाहरण:
- name: customers
description: A data mart
Jinja का उदाहरण:
FROM {{ ref('stg_looker__users') }}
dbt Jinja क्या है?
यह उपयोगी क्यों है?
dbt में Jinja के उदाहरण:
dbt models को रेफ़र करना
SELECT *
FROM {{ ref('stg_looker__users') }}
loops बनाना
{% for column in ['col1', 'col2'] %}
SELECT {{ column }}
FROM table_name
{% endfor %}
{%...%} में रहते हैं {% set order_statuses = ['Shipped', 'Complete', 'Processing'] %}
{{...}} में रहती हैं SELECT * FROM {{ ref('stg_looker__users') }}
{# #} में रहती हैं {# This is a comment #}
Jinja statements के प्रकार: set, loop, conditional (if/else), macros आदि
set Jinja statement एक वैरिएबल बनाकर वैल्यू असाइन करता है।
{% set ... %}
{% set country = 'Australia' %}
उपयोग
customers.sql में, जैसा लिखा है:{% set country = 'Australia' %}
SELECT ...
FROM ...
WHERE country = '{{ country }}'
कम्पाइल्ड कोड
dbt compile -s customers.sql आउटपुट:
SELECT ...
FROM ...
WHERE country = 'Australia'
dbt compile -s customers.sql आउटपुट:Running with dbt=1.8.4
...
Compiled node 'customers' is:
WITH customer_base AS (
SELECT
...
FROM "dbt"."main"."stg_looker__users"
WHERE country = 'Australia'
)
...
/target/compiled डायरेक्टरी जेनरेट हुईdbt compile ने कम्पाइल्ड फाइलें बनाईं:
Case Study: dbt के साथ E-Commerce Data Models बनाना