dbt sources

Intermediate dbt

Mike Metzger

Data Engineer

Co je dbt source?

  • Název a popis dat načtených procesem EL
  • Pomáhá definovat datovou linii
  • Testy
  • Dokumentace

Zdroj dat

1 Photo by Mika Baumeister on Unsplash
Intermediate dbt

Zdroje

  • Poskytuje informace o datové linii
  • Popisuje tok dat ve skladu
  • Použijte funkci Jinja {{ source() }}
    • Podobně jako funkce {{ ref() }}
  • Zjednodušuje přístup k nezpracovaným datům
select * 
from
  {{ source('raw', 'orders') }}
Intermediate dbt

Definování zdroje

  • V souboru .yml
  • Soubor může být models/model_properties.yml
    • Nebo jiný .yml soubor v adresáři
  • V sekci sources:
  • Pojmenujte zdroj pomocí volby - name:
  • Definujte každou zdrojovou tabulku volbou - name: pod tables:
  • Dostupné volby závisí na typu datového skladu, viz dokumentace dbt.
version: 2

sources:
  - name: raw
    tables:
      - name: phone_orders
      - name: web_orders
Intermediate dbt

Přístup ke zdrojům

  • Použijte {{ source() }}
  • {{ source(source_name, table_name) }}
  • Poskytuje správný název tabulky v kompilovaném dotazu
select * from
  {{ source('raw', 'phone_orders') }}
UNION
select * from
  {{ source('raw', 'web_orders') }}
-- dbt compiled
select * from
  'raw'.'phone_orders'
UNION
select * from
  'raw'.'web_orders'
Intermediate dbt

Testování zdrojů

  • Na zdroje lze aplikovat testy
  • Stejné metody jako pro modely
  • Definováno v sekci sources: místo models:
  • V .yml souboru, kde jsou zdroje definovány
version: 2

sources:
  - name: raw
    tables:
      - name: phone_orders
        columns:
          - name: id
            tests:
              - not_null
              - unique
      - name: web_orders
Intermediate dbt

Pojďme cvičit!

Intermediate dbt

Preparing Video For Download...