dbt seeds

Orta Düzey dbt

Mike Metzger

Data Engineer

dbt seed nedir?

  • Veri ambarına yüklenecek CSV dosyaları
  • Genellikle nadiren değişen veri kümeleri
    • Ülke listesi
    • Posta kodu listesi
  • Ham veri için değildir

Seed’ler

1 Fotoğraf: Maddi Bazzocco, Unsplash
Orta Düzey dbt

Neden?

  • Yönetmesi kolay
  • Çeşitli senaryolarda kullanımı kolay
  • Sürüm kontrolüne uygun
Orta Düzey dbt

Seed’ler nasıl tanımlanır?

  • CSV dosyasını seeds dizinine ekleyiniz
  • Başlığın ilk satır olduğundan emin olunuz
  • dbt seed komutu ile içe aktarınız
zipcode,place,state
99553,Akutan,Alaska
99571,Cold Bay,Alaska
99583,False Pass,Alaska

bash> dbt seed
1 Posta kodları: https://github.com/zauberware/postal-codes-json-xml-csv
Orta Düzey dbt

Ek yapılandırma

  • Birçok seçenek
    • Hangi şema?
    • Hangi veritabanı?
    • Sütun tırnaklama
    • Sütun veri türleri
  • Tüm projeye veya tek tek seed’lere uygulanabilir
  • dbt_project.yml ya da seeds/properties.yml dosyasına eklenebilir
Orta Düzey dbt

Veri türlerini tanımlama

  • Uygun veri türleri, veri ambarına bağlıdır
  • Tipik türler mevcuttur
    • Integer
    • Varchar
    • vb.
  • Tür tanımlanmazsa, veriye göre çıkarılır
version: 2

seeds:
  - name: zipcodes
    config:
      column_types:
        zipcode: varchar(5)
Orta Düzey dbt

Test

  • Testleri destekler
  • Modeller ve kaynaklar gibi
version: 2

seeds:
  - name: zipcodes
    config:
      column_types:
        zipcode: varchar(5)
    columns:
      - name: zipcode
        tests:
          - unique
Orta Düzey dbt

Seed’lere erişim

  • {{ ref() }} komutu ile erişilebilir
  • İlk içe aktarmadan sonra bir model gibi davranır
select * from
  {{ ref('zipcodes') }}
Orta Düzey dbt

Hadi pratik yapalım!

Orta Düzey dbt

Preparing Video For Download...