4.1. Toplu İşleme
Batch işleme, sonlu ve eksiksiz bir veri kümesi üzerinde hesaplama yapar — başlamadan önce tüm girdiye sahipsinizdir; bu da doğruluğu kolay, gecikmeyi yüksek kılar. Belirleyici zorluk map ya da reduce değil, aralarındaki shuffle’dır: ilgili anahtarları bir araya getirmek için terabaytlarca veriyi ağ üzerinden taşımak ve burada yavaş kalanlar (straggler) ile çarpıklık (skew) işinizin çalışma süresini belirler. Bu bölüm, paradigmayı MapReduce’un diske bağlı modelinden Spark’ın bellek içi DAG’ına ve bin düğümlü bir işi bitiren hata toleransı ile spekülatif yürütme mekaniğine kadar izler.
İncelenen Konular
Section titled “İncelenen Konular”- 4.1.1. MapReduce Paradigması: Fonksiyonel Kökenler, Map, Shuffle, Reduce: MapReduce paradigmasını, fonksiyonel köklerini ve map, shuffle ve reduce aşamalarını kapsar.
- 4.1.2. Dağıtık Sıralama: Shuffle Aşamasının Zorluğu: Shuffle aşamasının — veriyi sıralamak için ağ üzerinden taşımanın — bir batch işinin maliyetine neden hakim olduğunu açıklar.
- 4.1.3. Hadoop’tan Apache Spark’a: Disk ve Bellek İçi İşleme: Hadoop’un diske bağlı modelinden Spark’ın bellek içi DAG yürütmesine geçişi ve hızlanmalarını izler.
- 4.1.4. RDD, DataFrame ve Dataset API’leri: Spark’ın RDD, DataFrame ve Dataset API’lerini ve her seviyenin sağladığı optimizasyonu karşılaştırır.
- 4.1.5. Checkpointing ve Hata Toleransı: Başarısız bir görevin işi yeniden başlatmadan yeniden hesaplamasını sağlayan lineage ve checkpointing mekanizmalarını kapsar.
- 4.1.6. Yavaş Kalan Görevler: Spekülatif Yürütme: Yavaş kalan görevlerin bir işi nasıl durdurduğunu ve spekülatif yürütmenin bitirmek için nasıl yedek bir kopyayı yarıştırdığını açıklar.