Hadoop'ta MapReduce nedir? Büyük veri Archidoku

Hadoop'ta MapReduce nedir?

Harita indirgeme Büyük miktarda veriyi işlemek için kullanılan bir yazılım çerçevesi ve programlama modelidir. Harita indirgeme Program, Haritalama ve Azaltma olmak üzere iki aşamada çalışır. Haritalama görevleri verilerin bölünmesi ve haritalanmasıyla ilgilenirken, Azaltma görevleri verileri karıştırır ve azaltır.

Hadoop, çeşitli dillerde yazılmış MapReduce programlarını çalıştırabilir: JavaYakut, Python, ve C++Bulut bilişimde Map Reduce programları doğası gereği paraleldir, dolayısıyla kümedeki birden fazla makineyi kullanarak büyük ölçekli veri analizi yapmak için oldukça kullanışlıdır.

Her fazın girişi anahtar değeri çiftler. Ayrıca her programcının iki işlevi belirtmesi gerekir: harita işlevi ve işlevi azalt.

Harita indirgeme ArchiBüyük Veride Yapı Örnekle Açıklanıyor

Tüm süreç, bölme, haritalama, karıştırma ve azaltma olmak üzere dört uygulama aşamasından geçer.

Şimdi bu MapReduce eğitiminde, bir MapReduce örneğiyle durumu anlayalım.

MapReduce'unuz için aşağıdaki giriş verilerine sahip olduğunuzu düşünün Büyük Veri Programı

Welcome to Hadoop Class
Hadoop is good
Hadoop is bad
Harita indirgeme Archidoku
Harita indirgeme Archidoku

MapReduce görevinin son çıktısı:

kötü 1
Sınıf 1
Tercih Etmenizin 1
Hadoop'un 3
is 2
için 1
Hoşgeldiniz 1

Veriler, Büyük Veri'de MapReduce'un aşağıdaki aşamalarından geçer:

Giriş Bölmeleri:

Büyük Verideki MapReduce işine bir girdi, adı verilen sabit boyutlu parçalara bölünür. giriş bölmeleri Girdi bölünmesi, tek bir harita tarafından tüketilen girdinin bir kısmıdır

Haritalama

Bu, map-reduce programının yürütülmesindeki ilk aşamadır. Bu aşamada, her bölmedeki veriler çıktı değerleri üretmek için bir eşleme işlevine geçirilir. Örneğimizde, eşleme aşamasının bir işi, girdi bölmelerinden her kelimenin oluşum sayısını saymak (giriş bölmesi hakkında daha fazla ayrıntı aşağıda verilmiştir) ve şu biçimde bir liste hazırlamaktır:

karıştırma

Bu aşama, Haritalama aşamasının çıktısını tüketir. Görevi, Haritalama aşaması çıktısından elde edilen ilgili kayıtları birleştirmektir. Örneğimizde, aynı kelimeler ilgili sıklıklarıyla birlikte gruplandırılmıştır.

Indirgen

Bu aşamada, Karıştırma aşamasından gelen çıktı değerleri toplanır. Bu aşama, Karıştırma aşamasındaki değerleri birleştirir ve tek bir çıkış değeri döndürür. Kısacası bu aşama tüm veri kümesini özetler.

Örneğimizde, bu aşama Karıştırma aşamasındaki değerleri toplar, yani her kelimenin toplam geçişini hesaplar.

Harita indirgeme Archiayrıntılı olarak açıklanan doku

  • Her bölme için bir harita görevi oluşturulur ve bu görev daha sonra bölmedeki her kayıt için harita işlevini yürütür.
  • Birden fazla bölmeye sahip olmak her zaman faydalıdır çünkü bir bölmeyi işlemek için gereken süre, tüm girdinin işlenmesi için harcanan süreye kıyasla küçüktür. Bölmeler daha küçük olduğunda, bölmeleri paralel olarak işlediğimizden, işlemin dengeli yüklenmesi daha iyidir.
  • Ancak bölmelerin boyutlarının çok küçük olması da istenmez. Bölmeler çok küçük olduğunda, bölmeleri yönetme ve harita görevi oluşturmanın aşırı yükü, toplam iş yürütme süresine hakim olmaya başlar.
  • Çoğu iş için, bir HDFS bloğunun boyutuna (varsayılan olarak 64 MB) eşit bir bölünmüş boyut oluşturmak daha iyidir.
  • Harita görevlerinin yürütülmesi, çıktının HDFS'ye değil, ilgili düğümdeki yerel bir diske yazılmasıyla sonuçlanır.
  • Yerel diskin HDFS üzerinden seçilmesinin nedeni, HDFS depolama işlemi durumunda meydana gelen çoğaltmayı önlemektir.
  • Harita çıktısı, nihai çıktıyı üretmek için görevlerin azaltılmasıyla işlenen ara çıktıdır.
  • İş tamamlandıktan sonra harita çıktısı atılabilir. Bu nedenle, çoğaltmayla HDFS'de depolamak aşırıya kaçıyor.
  • Düğüm arızası durumunda, harita çıktısı azaltma görevi tarafından tüketilmeden önce Hadoop, harita görevini başka bir düğümde yeniden çalıştırır ve harita çıktısını yeniden oluşturur.
  • Görevi azalt, veri yerelliği kavramı üzerinde çalışmaz. Her harita görevinin çıktısı, azaltma görevine beslenir. Harita çıktısı, azaltma görevinin çalıştığı makineye aktarılır.
  • Bu makinede çıktı birleştirilir ve ardından kullanıcı tanımlı azaltma işlevine aktarılır.
  • Harita çıktısının aksine, azaltılmış çıktı şu şekilde saklanır: HDFS (ilk kopya yerel düğümde, diğer kopyalar ise raf dışı düğümlerde depolanır). Yani, azaltma çıktısını yazmak

MapReduce Çalışmayı Nasıl Organize Ediyor?

Şimdi bu MapReduce eğitiminde MapReduce'un nasıl çalıştığını öğreneceğiz

Hadoop'un işi görevlere böler. İki tür görev vardır:

  1. Harita görevleri (Bölmeler ve Haritalama)
  2. Görevleri azaltın (Karıştırma, Azaltma)

Yukarıda da belirtildiği gibi.

Yürütme sürecinin tamamı (her ikisinin de Haritalama ve Azaltma görevlerinin yürütülmesi), adı verilen iki tür varlık tarafından kontrol edilir.

  1. İş takipçisi: Gibi davranır usta (Gönderilen işin eksiksiz yürütülmesinden sorumludur)
  2. Çoklu Görev İzleyici: Gibi davranıyor köleler, her biri görevini yerine getiriyor

Sistemde yürütülmesi için gönderilen her iş için bir tane vardır. İş takipçisi üzerinde ikamet eden Ad düğümü ve var birden fazla görev izleyici üzerinde ikamet eden Veri düğümü.

Hadoop MapReduce Nasıl Çalışır?
Hadoop MapReduce Nasıl Çalışır?
  • Bir iş birden çok göreve bölünür ve bunlar daha sonra bir kümedeki birden çok veri düğümünde çalıştırılır.
  • Görevleri farklı veri düğümlerinde çalışacak şekilde planlayarak etkinliği koordine etmek iş izleyicinin sorumluluğundadır.
  • Daha sonra bireysel görevin yürütülmesi, işin bir bölümünü yürüten her veri düğümünde bulunan görev izleyici tarafından kontrol edilir.
  • Görev izleyicinin sorumluluğu, ilerleme raporunu iş izleyiciye göndermektir.
  • Ayrıca görev izleyici periyodik olarak 'kalp atışı' Jobtracker'a sistemin mevcut durumu hakkında bilgi verecek bir sinyal.
  • Böylece iş takipçisi her işin genel ilerlemesini takip eder. Görevin başarısız olması durumunda iş izleyici, görevi farklı bir görev izleyicide yeniden planlayabilir.