dbt veri martları ve snapshot modelleri oluşturma

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

Susan Sun

Freelance Data Scientist

dbt veri mart modellerine giriş

Veri martları, hattın sonunda temiz ve erişilebilir veri modelleridir.

Kullanım alanları

  • Veri bilimi ekibi için feature store'lar
  • Finans ekibi için toplu KPI'lar
  • Mühendislik için gecikme metriği
  • SQL'i kod olarak saklayarak tekrarı azaltır
Vaka Çalışması: dbt ile E-Ticaret Veri Modelleri Oluşturma

Looker e-ticaret veri martları

Müşteriler

Şu soruları yanıtlar:

Müşterilerimiz kim?

Satın alma davranışları nedir?

Veri taneciği:

Müşteri başına bir satır

Örnek sütunlar:

Müşteri adı, harcanan tutar

Ürünler

Şu soruları yanıtlar:

Gelirimiz, maliyetimiz ve kârımız nedir?

Veri taneciği:

Ürün başına bir satır

Örnek sütunlar:

Ürün kategorisi, gelir, kâr

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

Looker e-ticaret veri martları

Tüm dbt kaynaklarını, modelleri ve aralarındaki ilişkileri gösteren yönsüz çevrimsiz bir grafik. Kaynaklar yeşil, modeller ve martlar mavi gösterilmiştir.

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

Adım adım oluşturma

Adım 1: SQL mantığını dbt dışında iyileştirin, sonra başvuruları dbt söz dizimiyle değiştirin.

Çeşitli CTE'ler içeren örnek bir SQL mantığı dosyası ekran görüntüsü.

Adım 2: Veri testleri ve dokümantasyonu oluşturun

Bir dbt modeli için tablo ve sütun açıklamalarını gösteren örnek bir dbt models YAML dosyası ekran görüntüsü

Adım 3: Derlemeyi test edin! (örn. dbt build)

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

dbt snapshot modellerine giriş

Beş sipariş durumu:

Processing, Shipped, Complete, Cancelled ve Returned

Veri örneği:

İki satır ve 9 sütun içeren sipariş verisi ön izlemesi. Sütun adları: order id, user id, status, gender, created at, returned at, shipped at, delivered at ve num of items.

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

Siparişler: snapshot ile durum değişimi

  • orders_snapshot.sql dosyasını oluşturun
{% snapshot orders_snapshot %}
{{
    config(target_schema='main',
      unique_key='order_id',
      strategy='timestamp',
      updated_at='created_at')
}}

SELECT * 
FROM 
{{source('looker_ecommerce', 'orders')}}

{% endsnapshot %}
  • Belirli bir snapshot modeli çalıştırın
dbt snapshot -s orders_snapshot.sql
  • Tüm snapshot modellerini çalıştırın
dbt snapshot
  • Tüm modelleri (snapshotlar dahil) çalıştırın
dbt build
1 https://docs.getdbt.com/docs/build/snapshots
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...