Lineage: veri nereden geldi, nereye gitti?
Data lineage
Bu derste neler öğreneceksin
- bruin lineage ile görselleştirir
- dbt docs lineage karşılaştırır
- Hata ayıklamada lineage kullanır
Tarifin Yol Haritası
Bir yemek tarifinde yazar: “soğanı doğra, tencereye at, 10 dakika kısık ateşte pişir”. Bir başkası okuyunca her adımı görür. Veri lineage de aynı: “Chess.com’dan geldi → staging’de temizlendi → reports tablosunda özetlendi → dashboard’da gösterildi”.
Lineage = verinin doğum sertifikası. Hangi API’den geldi, hangi SQL onu değiştirdi, hangi rapora girdi.
Neden önemli?
- Hata ayıklama: “Dashboard yanlış sayı gösteriyor” → lineage’den geriye git, hangi adım bozdu bul.
- Güven: Patron “bu rakam doğru mu?” diye sorunca lineage göster.
- Sözleşme: GDPR/KVKK kuralları “kişisel veri nereye gidiyor?” sorusunu lineage ile yanıtlar.
Bruin Lineage ile Görselleştir
Dünkü pipeline’ı hatırla (25-bruin-uc-katman). Şimdi ona şunu ekle:
bruin lineage pipeline/
# 'pipeline/assets/reports/player_stats.sql' tablosunun lineage'sini gösterir.
# Çıktı: bir ağaç (tree) — üstte chess.games, altta player_stats.
Alternatif: bruin lineage --format dot → bir .dot dosyası üretir. Bunu dreampuf.github.io/GraphvizOnline adresine yapıştır → resim olarak gör.
Örnek çıktı:
chess.com API
↓
chess.games (ingest)
↓
stg_games (staging)
↓
player_stats (reports)
↓
Metabase dashboard
dbt Docs Lineage
dbt zaten bir lineage sunar. dbt projesinin kökünde:
dbt docs generate
dbt docs serve --port 8080
# Tarayıcıda http://localhost:8080 aç.
http://localhost:8080/#!/overview adresinde her model bir kutu, oklar bağlantıları gösterir. Bir kutuya tıkla → kolon kolon hangi alanlar geliyor görürsün.
Karşılaştırma
| Özellik | Bruin lineage | dbt docs |
|---|---|---|
| Kapsam | Tüm pipeline (Python + SQL) | Sadece dbt modelleri |
| Çıktı | CLI tree + dot | Web UI + DAG |
| Kolon düzeyi | Yakında | Var |
| Kolaylık | Tek komut | 2 komut + tarayıcı |
Hands-on
- Dünkü pipeline’ı kurduğun klasöre git.
bruin lineage pipeline/çalıştır.- Çıktıyı bir
.dotdosyasına kaydet, GraphvizOnline’da görselleştir. - dbt projen varsa (24-dbt-docs-portfolyo),
dbt docs generate && dbt docs serveile UI lineage’ı aç. - İkisini yan yana karşılaştır: hangisi daha okunaklı, hangisi daha hızlı?
Sıradaki
Lineage’yi gördün. Şimdi “hangi aracı ne zaman seçmeliyim?” sorusunun cevabını öğren →