Skip to content

Cum să configurezi seed-urile în dbt

DodaTech Updated 2025-01-15 2 min read

In this tutorial, you'll learn about Cum să configurezi seed. We cover key concepts, practical examples, and best practices.

Vei învăța cum să configurezi seed-urile în dbt pentru a controla tipurile de coloane, schemele și comportamentul la încărcarea fișierelor CSV.

Problema

Implicit, dbt deduce tipurile de coloane din CSV. Uneori tipurile sunt greșite — un cod poștal numeric devine integer, nu string. Configurarea seed-urilor rezolvă aceste probleme.

Modul Greșit

# seeds/zip_codes.csv
code,city
012345,București
-- dbt deduce code ca INTEGER, pierde zeroul inițial
dbt seed
# Rezultat: code = 12345, nu 012345!

Modul Corect

# dbt_project.yml — configurare seed-uri
seeds:
  my_project:
    schema: seed_data
    +quote_columns: true
    +column_types:
      zip_codes:
        code: varchar(10)
        city: varchar(100)
# seeds/schema.yml — configurare per seed
version: 2
seeds:
  - name: zip_codes
    description: "Coduri poștale românești"
    config:
      schema: reference
      column_types:
        code: varchar(10)
        city: varchar(100)
      delimiter: ","
    columns:
      - name: code
        description: "Cod poștal în format string"
      - name: city
        description: "Numele orașului"
dbt seed

Output:

17:23:45  1 of 1 START seed file seeds.zip_codes
17:23:46  1 of 1 OK loaded seed file seeds.zip_codes
-- code='012345' — corect!

Pas cu Pas

1. Configurează tipurile de coloane

seeds:
  my_project:
    +column_types:
      countries:
        code: varchar(5)
        population: integer

2. Configurează schema

seeds:
  my_project:
    schema: seed_data  # Toate seed-urile în schema seed_data

3. Configurare per seed

seeds:
  - name: products
    config:
      schema: inventory
      delimiter: ";"
      quote_columns: true

Sfaturi de Prevenție

  • Specifică column_types explicit pentru coloane care nu sunt string-uri simple
  • Folosește quote_columns: true pentru a evita conflicte cu cuvinte rezervate
  • Configurează schema seed-urilor separat de modele
  • Testează tipurile de date după primul dbt seed

Greșeli Comune

  1. Zerouri inițiale pierdute — coduri poștale, numere de telefon devin integer
  2. Separator greșit — CSV cu punct și virgulă, dar delimiter implicit e virgula
  3. Schema lipsă — seed-urile merg în schema default, se amestecă cu modelele
  4. Coloane cu nume rezervatefrom, to, order trebuie citate

Întrebări Frecvente

### Cum reîncarc un seed după modificare?

Rulează dbt seed --full-refresh --select nume_seed. dbt șterge și reînscrie toate rândurile.

Pot avea seed-uri în subdirectoare?

Da — seeds/subfolder/data.csv. Referențiază-le cu ref('subfolder_data').

Cum verific ce tipuri de coloane a dedus dbt?

După dbt seed, interoghează INFORMATION_SCHEMA.COLUMNS pentru tabela respectivă.

Construit de dezvoltătorii Doda Browser, DodaZIP și Durga Antivirus Pro. Instrumentele DodaTech se integrează perfect cu dbt pentru configurarea seed-urilor.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro