dbt seeds

dbt intermediar

Mike Metzger

Data Engineer

Ce sunt dbt seeds?

  • Fișiere CSV încărcate în depozitul de date
  • De obicei, seturi de date care se modifică rar
    • Listă de țări
    • Listă de coduri poștale
  • NU sunt destinate datelor brute

Seeds

1 Photo by Maddi Bazzocco on Unsplash
dbt intermediar

De ce?

  • Ușor de gestionat
  • Ușor de utilizat în diverse scenarii
  • Poate fi controlat cu un sistem de versionare
dbt intermediar

Cum se definesc seed-urile?

  • Adăugați fișierul CSV în directorul seeds
  • Asigurați-vă că antetul este pe primul rând
  • Importați folosind comanda dbt seed
zipcode,place,state
99553,Akutan,Alaska
99571,Cold Bay,Alaska
99583,False Pass,Alaska

bash> dbt seed
1 Postal codes provided via https://github.com/zauberware/postal-codes-json-xml-csv
dbt intermediar

Configurare suplimentară

  • Mai multe opțiuni
    • Ce schemă?
    • Ce bază de date?
    • Ghilimele pentru coloane
    • Tipuri de date pentru coloane
  • Se aplică întregului proiect sau seed-urilor individuale
  • Se pot adăuga în dbt_project.yml sau seeds/properties.yml
dbt intermediar

Definirea tipurilor de date

  • Tipurile de date disponibile depind de depozitul de date
  • Cele uzuale sunt disponibile
    • Integer
    • Varchar
    • etc
  • Dacă tipul nu este definit, este dedus din date
version: 2

seeds:
  - name: zipcodes
    config:
      column_types:
        zipcode: varchar(5)
dbt intermediar

Testare

  • Suportă teste
  • La fel ca modelele și sursele
version: 2

seeds:
  - name: zipcodes
    config:
      column_types:
        zipcode: varchar(5)
    columns:
      - name: zipcode
        tests:
          - unique
dbt intermediar

Accesarea seed-urilor

  • Accesibile prin comanda {{ ref() }}
  • Se comportă ca un model după importul inițial
select * from
  {{ ref('zipcodes') }}
dbt intermediar

Să exersăm!

dbt intermediar

Preparing Video For Download...