CookingTheCode.COM

Mapreduce nedir, nasıl çalışır?

03 Ocak 2011Pazartesi11:04Yorum: 0
Kategori: İşletim Sistemleri Veritabanı Sunucu Tarafı Programlama

Mapreduce; büyük veri setleri ile yapılacak işlemlerin birden fazla iş birimine dağıtılmasını (Distributed computing)  sağlayan bir yöntemdir. Saniyede birkaç bilgisayarın bile işleyemeceği kadar verinin toplandığı ortamlar(facebook, twitter, google), analiz edilmek üzere toplanmış veriler(machine learning) büyük veri setlerine örnek verilebilir.

Bir set üzerinde yapılacak bir işlemler serisi çeşitli iş birimlerine(cluster/bir bilgisayar) görev olarak dağıtılır. Sonra her birinin çıktısı birleştirilir ve nihai sonuç elde edilir.

İki katman vardır: 1.map, 2.reduce

mapreduce katmanları-layers

Map katmanı

isim değer çiftlerini girdi olarak alır yapılacak işmei gerçekleştirir. Ürettii sonuç listesini ise girdideki isimle birlikte çıtkı olarak verir.

Reduce Katmanı

map katmanındaki her "isim"e karşılık gelen sonuç listelerini toplar ve tek sonuç yapar.


birden fazla iş birimi map işiyle uğraşır, bir sonraki katman ise bu map sonuçlarını toplar ve tek bir sonuç yapar. bu map ve reduce katmanı birden fazla iş biriminden(cluster) oluşabilir. böylece ölçeklenebilirlik (Scalability) söz konusu olur.

bu iki katmandan herhangi birine eklenen bir iş birimi, yapılan işlemleri hızlandıracaktır. türk ağzıyla söylersek; ne kadar çok köfte o kadar ekmek.

iş birimlerinden herhangi biri bozulduğunda, diğerleri çalışmaya devam eder; bozulan iş birimine gönderilmiş görev ise başka bir iş birimine devredilir(master tarafından).

MapReduce
Hadoop
NoSQL At Twitter
Distributed Computing

Yorum Formu, ne düşünüyorsan yaz!
  • Bu da ne?
  • Gönderiliyor