dbt açıklamaları ve testleri oluşturma

Vaka Çalışması: dbt ile E-Ticaret Veri Modelleri Oluşturma

Susan Sun

Freelance Data Scientist

docs: dbt kullanıcı tanımlı açıklamalar

  • Kullanıcı tanımlı açıklamalar yaml dosyalarında
  • Şunları belgelemek için kullanılır: dbt models, sources, seeds, data tests vb.
  • Adlandırma kuralı:
    _<data source>__<asset>.yml
    
  • Varlıklarla aynı dizinde saklayın
looker_ecommerce/
  macros/
  models/
    _looker__models.yml     <------ 
    _looker__sources.yml    <------
    stg_looker__distribution_center.sql
    stg_looker__orders.sql
  seeds/
    looker__distribution_center.csv
Vaka Çalışması: dbt ile E-Ticaret Veri Modelleri Oluşturma

docs: dbt model yaml

Örnek _looker__models.yml:

version: 2

models:
  - name: model_name
    description: This is a table
    columns:
      - name: column_name
        description: This is a column
      - name: column_name
        description: This is a column

Not:

  • version: 2, dbt'nin kullandığı şema yapılandırma biçimidir
  • models, bu kullanıcı tanımlının hangi varlığı belgelediğini belirtir
  • Tablo adı öncesi 2 boşluk
  • Sütun adı öncesi 4 boşluk
Vaka Çalışması: dbt ile E-Ticaret Veri Modelleri Oluşturma

dbt veri testleri: not null ve unique

  • Dört varsayılan veri testi yaml dosyalarında bulunur:
    • unique
    • not_null
    • accepted_values
    • relationship

1.unique: her satır değeri benzersizdir

- name: table_name
  columns: 
    - name: column_name
      data_tests:
        - not_null
    ...

2.not_null: hiçbir satırın değeri null olamaz

- name: table_name
  columns: 
    - name: column_name
      data_tests:
        - unique
        - not_null
    - name: column_name
      data_tests:
        - unique
Vaka Çalışması: dbt ile E-Ticaret Veri Modelleri Oluşturma

dbt veri testleri: accepted values

3.accepted_values: yalnızca listedeki değerler kabul edilir

- name: table_name
  columns: 
    - name: column_name
      data_tests:
        - accepted_values:
            values: ['value_a', 'value_b', 'value_c', NULL]
Vaka Çalışması: dbt ile E-Ticaret Veri Modelleri Oluşturma

dbt veri testleri: relationships

4.relationships: tablolar arasında referans bütünlüğü (yabancı anahtar)

- name: table_1
  columns: 
    - name: column_1
      data_tests:
        - relationships:
            to: ref('table_2')
            field: column_2
Vaka Çalışması: dbt ile E-Ticaret Veri Modelleri Oluşturma

Hadi pratik yapalım!

Vaka Çalışması: dbt ile E-Ticaret Veri Modelleri Oluşturma

Preparing Video For Download...