Bulutta Spark: Dataproc vs Colab
Spark in cloud
Bu derste neler öğreneceksin
- Dataproc cluster oluşturur
- GCS Dataproc BigQuery pipeline kurar
- Colab ücretsiz tier ile sınır testi yapar
Elif’in Yeni Sorunu: Veri Bilgisayara Sığmıyor
Elif artık 3 şube değil, 30 şube. Günde 50.000 sipariş geliyor. Tüm veriyi kendi laptopunda toplamaya çalışınca disk “Yeterli alan yok!” diye bağırıyor. Bilgisayarı da fanı son sürat çalıştırıyor.
Elif’in iki seçeneği var:
- Colab: Google’ın ücretsiz verdiği sanal bilgisayar (kısmen ücretsiz).
- Dataproc: Google’ın Spark için kurduğu özel mutfak (ücretli ama güçlü).
Bugün ikisini de tanıyacağız, sonra “hangisini ne zaman seçeriz” sorusunu cevaplayacağız.
Seçenek 1: Google Colab
Colab, Google’ın tarayıcıdan açtığın ücretsiz bir Jupyter defteri. Birisi uzak bilgisayar sana tahsis ediyor, sen Python kodu yazıyorsun, o çalıştırıyor.
Avantajları:
- Sıfır kurulum. Tarayıcıdan aç, kod yaz, çalıştır.
- Ücretsiz GPU bile var (yapay zeka için).
- Spark kütüphanesi
pip install pysparkile hazır.
Dezavantajları:
- Ücretsiz katman sınırlı: günde 12 saat, ara sıra düşüyor, GPU kuyruğa alınabiliyor.
- Veriler geçici diske yazılıyor — kapatınca gidebilir (Drive’a bağlamazsan).
- Çok büyük veri (terabaytlar) için yavaş.
Colab’da Spark açmak için:
# Colab defterine yapıştır
!pip install pyspark
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("elif-notebook").getOrCreate()
# Veriyi oku
df = spark.read.csv("ornek.csv", header=True)
df.show(5)
Üst satırdaki ! Colab’a “bu bir terminal komutu” diyor. Normalde terminalde yazarsın, Colab’da başına ! koyarsın.
Seçenek 2: Dataproc (Gerçek Mutfak)
Dataproc, Google Cloud’un Spark için optimize ettiği bir cluster hizmeti. Sen sadece “şu kadar makine aç, şu kadar şu makineden aç” diyorsun, Google hepsini ayağa kaldırıyor.
Avantajları:
- Bir düğmeyle 10, 50, hatta 1000 makine açabilirsin.
- Veriler GCS (Google Cloud Storage) üzerinde — terabayt olsa rahat.
- İş bitince makineleri kapatırsın, saniye başına ücret ödersin.
- BigQuery ile direkt konuşur (bir sonraki bölüm).
Dezavantajları:
- Ücretli (küçük cluster için ayda 50-200 TL, büyük olan 1000+ TL).
- Kurulumu öğrenmek zaman alıyor.
Dataproc cluster açmak için (Google Cloud Shell’de):
# 3 makine aç: 1 şef + 2 aşçı
gcloud dataproc clusters create elif-mutfak \
--region=europe-west1 \
--zone=europe-west1-b \
--master-machine-type=n1-standard-2 \
--worker-machine-type=n1-standard-2 \
--num-workers=2 \
--image-version=2.1-debian11
2 dakika sonra cluster hazır. Şimdi Spark işi gönder:
gcloud dataproc jobs submit pyspark \
--cluster=elif-mutfak \
--region=europe-west1 \
gs://benim-bucket/im.py
gs://benim-bucket/im.py GCS’teki (Google Cloud Storage) Python dosyası. Cluster o dosyayı indirip çalıştırıyor.
GCS → Dataproc → BigQuery: Üçlü Takım
Elif’in tam veri hattı şöyle:
[Instagram siparişleri]
↓ her saat bir JSON dosyası düşüyor
[GCS: gs://elif-data/raw/2026/06/19/siparis.json]
↓ Dataproc her gece 03:00'te okuyor
[Dataproc: temizle, zenginleştir, özetle]
↓ yaz
[BigQuery: elif_report.satis_ozet]
↓ sabah patron açıyor
[Looker Studio dashboard'u]
Bunu Elif için parça parça kuralım.
Adım 1: Veriyi GCS’e Yükle
# Yerel dosyayı buluta kopyala
gsutil cp siparis_2026_06_19.csv gs://elif-data/raw/
Adım 2: Dataproc ile Oku ve Dönüştür
# gs://elif-data/jobs/rapor.py (Dataproc'un çalıştıracağı dosya)
from pyspark.sql import SparkSession
from pyspark.sql.functions import col, to_date, sum as _sum
spark = SparkSession.builder.appName("gece-raporu").getOrCreate()
# 1) GCS'ten oku
df = spark.read.csv("gs://elif-data/raw/siparis_*.csv", header=True, inferSchema=True)
# 2) Temizle: negatif fiyatları at
df = df.filter(col("fiyat") > 0)
# 3) Özetle
rapor = (
df.groupBy("icecek")
.agg(
_sum("fiyat").alias("toplam_gelir"),
)
)
# 4) BigQuery'ye yaz
rapor.write.format("bigquery") \
.option("table", "elif_report.satis_ozet") \
.save()
Adım 3: Her Gece Otomatik Çalıştır
Bunu Cloud Scheduler + Dataproc ile zamanlayabilirsin. Bu kursun ileriki derslerinde detaylı göreceğiz. Şimdilik bil: “her gece 03:00’te bu iş çalışsın” demek birkaç tık.
Hangisini Ne Zaman Seçeriz?
| Durum | Seçim |
|---|---|
| Veri 1 GB’dan az, hızlı deneme istiyorum | Colab |
| Ödev / kişisel proje | Colab |
| Günde 100 GB+ veri işliyorum | Dataproc |
| İş saatleri dışında büyük rapor | Dataproc |
| Bütçe kısıtlı, sadece bazen çalıştıracağım | Colab Pro (aylık 100 TL civarı) |
| Ekip birden çok kişi çalışacak | Dataproc |
Colab’ın Ücretsiz Sınırı
Google Colab’ın ücretsiz katmanı cömert ama sınırsız değil. Deneyimler:
- Sürekli GPU kullanırsan günde 4-6 saat sonra oturum düşebilir.
- RAM 12 GB civarı. Çok büyük veri setini okuyamazsın.
- Diske yazdıkların kapatınca gidebilir. Google Drive’a bağlamazsan kaybedersin.
Bu yüzden ciddi iş için Dataproc (veya kendi laptopunun pahalı donanımı). Colab daha çok “öğren ve dene” için.
Özet
Bugün öğrendik:
- Colab, tarayıcıdan ücretsiz Python çalıştırma yeri. Küçük veri ve ödev için ideal.
- Dataproc, Spark için optimize edilmiş ücretli cluster. Büyük veri ve üretim için.
- GCS → Dataproc → BigQuery üçlüsü tipik bir bulut veri hattı.
- Ücretsiz tier ile başla, büyüdükçe ücretliye terfi et.
Küçük Ödev
- Google Colab’da yeni bir defter aç,
pip install pysparkyaz, basit bir tablo oluştur. - Bir cümle yaz: “Kendi limonatacı projemde Colab mı Dataproc mu seçerdim, neden?”
- (İsteğe bağlı) GCP ücretsiz kredi hesabın varsa (öğrenciysen 300$ veriyor) çok küçük bir Dataproc cluster aç. 2 dakika içinde hazır olacak.