Modül 2 · İş Akışı Orkestrasyonu · ⏱ 5 dk

Pipeline'ı kağıtta yaz — robot egzersizi

Robot exercise draw the pipeline

Bu derste neler öğreneceksin

  • Pseudo-DAG çizer
  • Robot rolündeki arkadaşa uygulatır
  • Hata varsa birlikte düzeltir

Ekransız Ders

Bugün bilgisayarı kapatıyoruz. Bu dersin amacı: pipeline mantığını öğrenmek, araçtan bağımsız. Yeni araçlar gelir, mantık aynı kalır.

Adım 1 — Senaryoyu Seç

Aşağıdaki senaryolardan birini seç:

  1. Oyun istatistikleri: Oyuncunun son 10 maçı API’den çekilir → Postgres’e yazılır → dbt ile temizlenir → dashboard’da gösterilir.
  2. Hava durumu analizi: OpenWeatherMap saatlik veriyi JSON döner → GCS’e yazılır → BigQuery’ye yüklenir → Streamlit dashboard’u güncellenir.
  3. Podcast istatistikleri: Spotify API günlük dinlenme sayısı → CSV indirilir → Postgres’e yazılır → Metabase’te rapor.

Adım 2 — Pseudo-DAG Çiz

A4 kağıda kutular ve oklar çiz:

[API] → [Ham JSON] → [GCS] → [BigQuery raw] → [dbt model] → [Dashboard]

Her kutuyu adım adım yaz:

  • API: HTTP GET, ne sıklıkla, hangi endpoint.
  • Ham JSON: Hangi alanlar var, hangileri eksik olabilir.
  • GCS: Hangi bucket, hangi path formatı ({{ tarih }}.json).
  • BigQuery raw: Tablo adı, partition stratejisi.
  • dbt model: Hangi sütunlar temizlenecek, hangi testler var.
  • Dashboard: Hangi metrik gösterilecek.

Adım 3 — Pseudo-Kod

Her kutu altına pseudo-kod:

ADIM 1: "Robot, https://api.example.com/v1/matches?limit=10 adresine git, son 10 maçı çek."
ADIM 2: "Gelen JSON'u oku, her maç için id, score, date al."
ADIM 3: "Google Cloud Storage'a gs://my-bucket/matches/2026-06-19.json olarak yaz."
ADIM 4: "BigQuery lemonade.raw.matches_20260619 tablosuna yükle, WRITE_TRUNCATE."
ADIM 5: "dbt run --select stg_matches çalıştır."
ADIM 6: "Metabase dashboard'u yenile (email gönder)."
ADIM HATA: "Herhangi bir adım hata verirse: Slack'e 'Pipeline patladı: ADIM X' yaz, dur."

Adım 4 — Robot Rolü

Bir arkadaşını veya aile büyüğünü robot olarak çağır. Kağıdı ver, “çalıştır” de. Robot kelimesi kelimesine uygulayacak — yorum yapmayacak. Bu debugging pratiği için altın:

  • Robot takılırsa → yazımın belirsiz demektir.
  • Robot yanlış yere yazarsa → path/parametre eksik demektir.
  • Robot “hata oldu” demezse → hata yönetimi yazmamışsın demektir.

Sık Yapılan Hatalar (ve Çözümleri)

HataBulguÇözüm
Tarih formatı belirsizRobot “hangi format?” diye sorarISO 8601 (YYYY-MM-DD) yaz, örnek ver
Hata yönetimi eksikRobot hata olunca ne yapacağını bilmezHer adımın sonuna “hata olursa → Slack” yaz
Adımlar arası bağımlılık yokRobot paralel yapar, sıra bozulur”ADIM 3 SADECE ADIM 2 bitince” yaz
Idempotentlik unutulmuşRobot 2 kez çalıştırınca 2 kez yazar”Eğer dosya zaten varsa üzerine yaz (üretme)” yaz
Gözlem/ölçüm eksikRobot log tutmaz”Her adımda süre ve satır sayısı logla” yaz

Neden Bu Ders Var?

Bu egzersizde gördüğün 8 hata kategorisi, gerçek production pipeline’larında da en sık yapılan hatalar. Kestra, Airflow, Prefect — hangi aracı kullanırsan kullan, bu 8’i halledecek şekilde tasarlamalısın.

İleri seviye prensip: “Pipeline’ı bir başkasına devret.” Eğer takım arkadaşın okuyunca anlıyorsa, production’a hazırdır. Yoksa kod değil, kağıt düzelt.

Bugün Yaptık

  • Seçtiğimiz senaryonun pseudo-DAG’ını çizdik
  • Her adımı pseudo-kodla belirsizlikten arındırdık
  • Robot rolüyle debugging pratiği yaptık

Ellerini Kirlet

  1. A4 kağıda senaryonu çiz.
  2. Pseudo-kod yaz, her adımda hata olursa notunu ekle.
  3. Bir “robot” bul, uygulat, eksikleri bul.
  4. Düzeltilmiş hali docs/pipeline-design.md olarak repo’ya ekle. Bu döküman capstone’unda referans olacak.

Sıradaki

Modül 2 tamam! Modül W1: Veri alımı (dlt + AI Copilot) →