Spark #12 : Kay-value metodlari
Evet pekcok transformasyonu gorduk, bircok aksyionu tanidik. Ancak bazi durumlarda islemleri optimize etmek icin kay-value pair'lerinden faydalanabiliyoruz. Pair RDD'ler uzerinde uygulanabilecek ekstra metotlar su sekildedir: collectAsMap Normal siradan collect gibi ama key-val'lerden bir map (dictionary) olusturuyor. mapValues / flatMapValues sadece value tarafindan islem goren map fonksyonu. reduceByKey Ayni key'e sahip elemanlar uzerinde bir reduce operasyonu calistiriliyor. Taa ilk bastaki word count orneginde bu metot ile ayni kelimeden metin icerisinde kac tane gectigini hesaplamistik. Tekrardan bir ornek yaparsak, Ayni key'e sahip olan elemanlar tek bir partition'a sigmiyor olabilir. Hatta ayni makine uzerinde bile olmayabilir. Bu durumda bir all-to-all operasyon ile data shuffle edilir ve ayni key'e sahip elemanlar tum partitionlar'dan okunarak reduce edilir. foldByKey / aggregateByKey fold ve aggregate metotlari gibi olsa da key ile gruplanm