Apache Spark – RDD Dönüşüm(Transformations) Metodları

Bu bölümde RDD Dönüşüm(Transformations) fonksiyonları hakkında genel bilgiler vereceğiz

RDD Mimarisi bölümünde RDD hakkında genel bilgiler vermiştik. Çok detaylı olmasa da bazı fonksiyonları denemiştik.Şimdi ise bu fonksiyonları detaylıca inceleyelim

Örnekler için http://grouplens.org/datasets/movielens/  adresinden veri indirebiliriz

Dönüşüm(transformations) Metodları

Bu metodların en önemli özellikleri, mevcut RDD üzerinden yeni bir RDD dönüşümü yapmasıdır

map

Yeni bir RDD oluşturmak için kullanılır.Örnek verirsek film(movie) verileri  alttaki formatta indirilir

Spark ile veri üzerinde işlemler yapabilmek için map metodu ile satır satır okuyarak , okuduğumuz verileri Movie objesine dönüştürebiliriz.

Movie objesi

map metodu kullanım örneği ;

Örnekte map metodu verileri satır satır okuyarak yeni bir JavaRDD<Movie> objesi hazırlıyor.Burada dikkat etmemiz gereken konu ise her bir input değerinden bir output değeri oluşturulur

filter 

Verileri filtreleyerek yeni bir RDD oluşturur.Alttaki örnekte movieId değeri 2 ile başlayan kayıtlardan yeni bir RDD oluşturuluyor

flatmap

map metodu ile benzerdir fakat her input değerinden birden fazla output değeri oluşturulabilir

mapPartitions

map metoduna benzer fakat her worker makinesinde bulunan task/partition içerisinde bir defa çalışır.

Mesela veritabanı ile bağlantı kurmamız gereken bir yapı düşünelim.Normal olarak veritabanı bağlantısı zaman alır bu yüzden bu işlemi bir defalığına her partition üzerinde yapmak mantıklıdır

distinct

Bir RDD içerisindeki aynı olan kayıtları eleyerek, tekil kayıtları verir

sample

Bir RDD içerisinden örnek kayıtları verir

union

union metodu ile iki RDD birleştirilebilir

intersection

intersection metodu ile iki RDD kümesinin kesişimi alınır

subtract

subtract metodu ile işlem yapılan RDD kümelerinden yalnızca ilk RDD kümesinde bulunan elemanlar alınır

cartesian

cartesian metodu ile kartezyen eşlemeler oluşturulur

Örnek : RDDs {1, 2, 3} ve {3, 4, 5}

Oluşturulan yeni küme : {(1, 3), (1,4), … (3,5)}

Pair RDD

<key,value> yapılarındaki RDD formatları pair RDD olarak kullanılabilir

reduceByKey

aynı key değerine sahip kayıtlar üzerinde işlem yapmamızı sağlar

Örnek veri olarak alttaki kayıtlar alınıyor (key,value)

Burada aynı key değerine sahip kayıtların toplamını aldığımızda (1,2) (4,9) sonucunun çıkmasını bekleriz

join

aynı key değerine sahip kayıtları birleştirir

groupByKey

aynı key değerine sahip kayıtları listeler

Örnek veri olarak alttaki kayıtlar alınıyor (key,value)

Burada aynı key değerine sahip kayıtları listelediğimizde (1,2)(4,[3,6]) çıkmasını bekleriz

mapValues

PairRDD verisinde value değerleri üzerinde işlemler yapılabilir

Örnek veri olarak alttaki kayıtlar alınıyor (key,value)

Burda value değerlerini birer artırırsak şu sonucu alırız (1,3)(4,4)(4,7) bekleriz

keys

Bu metod ile PairRdd içerisindeki tüm anahtar(key) değerlerini alabiliriz

values

Bu metod ile PairRdd içerisindeki tüm value değerlerini alabiliriz

 

Bu bölümde RDD Dönüşüm(Transformations) fonksiyonlarını inceledik. Diğer büyük veri(Big Data) yazıları için sitemizi takip edebilirsiniz


Bizi takip edebileceğiniz sosyal medya platformları

–> Facebook –> Linkedin  -> Twitter

Sorularınız için Big Data grubumuz (-> Facebook group)

Online eğitimler için sitemizi takip edebilirsiniz

 

Please follow and like us:

Yazar: serkan sakınmaz

serkansakinmaz@gmail.com

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir