dbt kaynakları

Orta Düzey dbt

Mike Metzger

Data Engineer

dbt kaynağı nedir?

  • EL süreciyle yüklenen verinin adı ve açıklaması
  • Veri soy ağacını belirlemeye yardımcı olur
  • Testler
  • Belgeler

Veri kaynağı

1 Fotoğraf: Mika Baumeister, Unsplash
Orta Düzey dbt

Kaynaklar

  • Veri soy ağacı bilgisi sağlar
  • Ambar içindeki veri akışını açıklar
  • Jinja {{ source() }} işlevini kullanın
    • {{ ref() }} işlevine benzer
  • Ham veriye erişimi basitleştirir
select * 
from
  {{ source('raw', 'orders') }}
Orta Düzey dbt

Bir kaynak tanımlama

  • .yml dosyasında
  • Dosya models/model_properties.yml olabilir
    • Veya dizindeki başka bir .yml dosyası
  • sources: bölümünde
  • Kaynağı - name: ile adlandırın
  • Her kaynak tablosunu tables: altında - name: ile tanımlayın
  • Veri ambarına göre seçenekler değişir; dbt belgelerine bakınız.
version: 2

sources:
  - name: raw
    tables:
      - name: phone_orders
      - name: web_orders
Orta Düzey dbt

Kaynaklara erişim

  • {{ source() }} kullanın
  • {{ source(source_name, table_name) }}
  • Derlenen sorguda tablonun doğru adını verir
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'
Orta Düzey dbt

Kaynakları test etme

  • Kaynaklara test uygulanabilir
  • Modellerdeki yöntemlerin aynısı
  • models: yerine sources: bölümünde tanımlanır
  • Kaynakların tanımlı olduğu .yml dosyasında
version: 2

sources:
  - name: raw
    tables:
      - name: phone_orders
        columns:
          - name: id
            tests:
              - not_null
              - unique
      - name: web_orders
Orta Düzey dbt

Hadi pratik yapalım!

Orta Düzey dbt

Preparing Video For Download...