WORKING WITH RDDS - SPARK'S CORE DATA ABSTRACTION EĞİTİMİ

Spark'ın kalbini RDD dönüşümleriyle çöz

RDD oluşturma, dönüşüm ve eylemlerden lineage, partition ve persist mekanizmalarına kadar Spark çekirdeğini uygulamalı öğrenin.

Spark'ın temel soyutlaması RDD'ye odaklanan orta seviye eğitim: dönüşümler ve eylemler, lazy evaluation ve lineage, pair RDD işlemleri, narrow/wide bağımlılık ve shuffle, partition yönetimi, persist ve broadcast/accumulator paylaşımlı değişkenleri.

3 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

RDD dönüşümleri, eylemler, lineage ve partition yönetimi

Bu orta seviye eğitim, Spark'ın temel veri soyutlaması olan Resilient Distributed Dataset (RDD) üzerine odaklanır. RDD oluşturma (parallelize, textFile), dönüşümler (map, filter, flatMap, reduceByKey, groupByKey, join), eylemler (collect, count, reduce, take); lazy evaluation ve lineage (DAG) ile hata toleransı işlenir. Ardından partition yönetimi, narrow/wide dependency ve shuffle, persist/cache storage seviyeleri, broadcast ve accumulator paylaşımlı değişkenleri, key-value RDD işlemleri ele alınır. Katılımcı, RDD API ile dağıtık veri dönüşümlerini yazıp performansını yorumlayabilir.

Süre ve Format

3 Gün. Her gün dört modül; katılımcılar RDD temelinden shuffle ve paylaşımlı değişkenlere ilerler.

Seviye

Orta Seviye — Spark'ın çekirdek soyutlaması RDD'nin dönüşümleri, eylemleri ve çalışma modelinin derinlemesine ele alınması.

Öğrenme Metodu

Katılımcılar Spark shell ve notebook'ta gerçek veri üzerinde RDD dönüşümleri yazıp DAG ve partition davranışını gözlemler.

Neden Bu Eğitim?

🧩Çekirdek Anlayış

DataFrame'in altındaki RDD modelini derinlemesine kavrarsınız.

🔁Lineage

Lazy evaluation ve lineage ile hata toleransını anlarsınız.

⚡Performans

Shuffle ve partition kararlarıyla işleri hızlandırırsınız.

Anahtar Konular

spark rddspark eğitimirdd dönüşümreducebykeylineage dagshufflepartitionpersist cachepair rdddağıtık işleme
“DataFrame konforu RDD'nin sağlam mantığı üzerinde yükselir.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Programlama

Python veya Scala ile temel programlama deneyimi beklenir.

2
Fonksiyonel Fikir

map/filter gibi fonksiyonel kavramlara aşinalık faydalıdır.

3
Büyük Veri Fikri

Dağıtık işleme mantığına genel aşinalık yararlıdır.

4
Çalışma Ortamı

Spark kurulu bir ortam (yerel, küme veya bulut) ve bir shell/notebook.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı, RDD oluşturup temel dönüşüm ve eylemleri uygulayabilir.
Modül 1
RDD Nedir
  • Resilient Distributed Dataset tanımı
  • Değişmezlik (immutability) ilkesi
  • Partition'lara bölünmüş veri
  • parallelize ile koleksiyondan RDD
  • textFile ile dosyadan RDD
  • RDD, DataFrame ve Dataset ilişkisi
Modül 2
Temel Dönüşümler
  • map ile eleman dönüştürme
  • filter ile eleman eleme
  • flatMap ile düzleştirme
  • distinct ile tekilleştirme
  • union/intersection/subtract
  • Dönüşümlerin lazy olması
Modül 3
Eylemler (Actions)
  • collect ile sürücüye toplama riski
  • count ve first/take
  • reduce ile birleştirme
  • foreach ile yan etki
  • saveAsTextFile ile yazma
  • Action'ın hesabı tetiklemesi
Modül 4
Lazy ve Lineage
  • Lazy evaluation mantığı
  • Lineage (soy) grafiği
  • DAG'ın oluşturulması
  • Hata halinde yeniden hesaplama
  • toDebugString ile lineage okuma
  • Dönüşüm zincirinin optimize edilmesi
Günün hedefiKatılımcı, pair RDD işlemlerini uygular ve shuffle maliyetini yönetebilir.
Modül 1
Pair RDD
  • Key-value çiftleri oluşturma
  • keys ve values erişimi
  • mapValues ile değer dönüşümü
  • sortByKey ile sıralama
  • keyBy ile anahtar türetme
  • Pair RDD kullanım senaryoları
Modül 2
Gruplama ve Toplama
  • reduceByKey ile anahtar bazlı toplama
  • groupByKey ve bellek riski
  • aggregateByKey ile esnek toplama
  • combineByKey ile özel birleştirme
  • reduceByKey ve groupByKey karşılaştırması
  • Toplama işleminin shuffle'a etkisi
Modül 3
Bağımlılık ve Shuffle
  • Narrow ve wide dependency farkı
  • Wide dependency'nin shuffle tetiklemesi
  • Stage'lerin shuffle sınırında bölünmesi
  • Shuffle'ın ağ ve disk maliyeti
  • Partition sayısının shuffle'a etkisi
  • Spark UI'da shuffle metrikleri
Modül 4
Join ve Birleştirme
  • Pair RDD join türleri
  • cogroup ile çoklu gruplama
  • Büyük veri join stratejileri
  • Veri çarpıklığı (skew) etkisi
  • join öncesi partition hizalama
  • Join sonucunun doğrulanması
Günün hedefiKatılımcı, partition ve persist ile performansı yönetir, paylaşımlı değişkenleri kullanır.
Modül 1
Partition Yönetimi
  • Partition sayısının paralelliğe etkisi
  • repartition ile artırma (shuffle)
  • coalesce ile shuffle'sız azaltma
  • partitionBy ile özel bölümleme
  • getNumPartitions ile kontrol
  • Doğru partition sayısı seçimi
Modül 2
Persist ve Cache
  • cache ve persist farkı
  • Storage level seçenekleri
  • MEMORY_ONLY vs MEMORY_AND_DISK
  • Serileştirilmiş saklama
  • unpersist ile bellek boşaltma
  • Tekrar kullanılan RDD'de kazanç
Modül 3
Paylaşımlı Değişkenler
  • Broadcast değişkeni ile veri dağıtımı
  • Küçük tablonun broadcast edilmesi
  • Accumulator ile sayaç toplama
  • Accumulator'ın yan etki sınırları
  • Closure ve değişken kapsamı
  • Paylaşımlı değişken kullanım örnekleri
Modül 4
Performans ve Pratik
  • Spark UI ile stage/task analizi
  • groupByKey yerine reduceByKey tercihi
  • Gereksiz collect'ten kaçınma
  • Darboğaz tespiti ve çözüm
  • RDD'den DataFrame'e geçiş gerekçesi
  • Uçtan uca RDD mini uygulama

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
RDD Temeli

RDD oluşturup değişmezlik ve partition mantığını açıklarsınız.

✅
Dönüşümler

map, filter ve flatMap ile veriyi dönüştürürsünüz.

✅
Eylemler

collect, reduce ve count ile hesabı tetiklersiniz.

✅
Lineage

Lazy evaluation ve DAG ile hata toleransını kavrarsınız.

✅
Pair RDD

reduceByKey ve join ile key-value veriyi işlersiniz.

✅
Shuffle

Narrow/wide bağımlılık ve shuffle maliyetini yönetirsiniz.

✅
Persist

cache ve storage seviyeleriyle performans kazanırsınız.

✅
Paylaşımlı Değişken

Broadcast ve accumulator'ı doğru kullanırsınız.

Kimler İçin Uygundur?

  • Spark'ı temelden öğrenmek isteyen veri mühendisleri
  • DataFrame öncesi çekirdeği kavramak isteyen geliştiriciler
  • dağıtık işleme meraklıları için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Spark'ı temelden öğrenmek isteyen veri mühendisleri ve DataFrame öncesi çekirdeği kavramak isteyen geliştiriciler için uygundur.
RDD hâlâ gerekli mi, DataFrame yeterli değil mi?
DataFrame çoğu işte tercih edilir ama RDD, Spark'ın çalışma modelini, shuffle ve lineage'ı anlamak için temeldir ve düşük seviye kontrol gerektiren işlerde kullanılır.
Hangi dili kullanacağız?
Örnekler PySpark ve Scala ile gösterilir; temel programlama deneyimi yeterlidir.
groupByKey neden önerilmez?
Tüm değerleri belleğe toplar ve ağır shuffle üretir; eğitim reduceByKey/aggregateByKey ile daha verimli alternatifleri gösterir.
Eğitim sonunda sertifika veriliyor mu?
Katılım ve değerlendirme sonrası Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Working with RDDs - Spark's Core Data Abstraction Eğitimi Sertifika Kodu DV-2026XX00 Tarih 26.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre3 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn