Hadoop'ta MapReduce: Fazlar, Girdiler ve Çıktılar, Fonksiyonlar ve Avantajlar

Yayınlanan: 2020-12-24

Hadoop MapReduce, büyük miktarda veri işleyen uygulamalar yazmak için kullanılan bir programlama modeli ve yazılım çerçevesidir. MapReduce programında Harita ve Azaltma olmak üzere iki aşama vardır.

Harita görevi, bir veri kümesini alarak ve onu, ayrı ayrı öğelerin anahtar/değer çiftleri gibi kümelere ayrıldığı başka bir veri kümesine dönüştürerek verilerin bölünmesini ve eşlenmesini içerir. Bundan sonra, Azalt görevi verileri karıştırır ve azaltır; bu, anahtara dayalı veri gruplarını birleştirir ve anahtarın değerini buna göre değiştirir.

Hadoop çerçevesinde, MapReduce modeli veri işleme için temel bileşendir. Bu modeli kullanarak, yalnızca bir yapılandırma değişikliği yaparak bir uygulamayı bir kümede yüzlerce, binlerce ve daha birçok makineyi çalıştıracak şekilde ölçeklendirmek çok kolaydır. Bunun nedeni, bulut bilişimdeki model programlarının doğaları gereği paralel olmasıdır. Hadoop, MapReduce'u Java, Ruby, Python ve C++ gibi birçok dilde çalıştırma yeteneğine sahiptir. mapreduce mimarisi hakkında daha fazlasını okuyun.

İçindekiler

Girdiler ve çıktılar

MapReduce modeli, <key, value> çiftleri üzerinde çalışır. İşlerin girdisini bir dizi <anahtar, değer> çifti olarak görür ve işlerin çıktısı olarak farklı bir <anahtar, değer> çifti seti üretir. Bu çerçevede veri girişi, InputFormat ve RecordReader olmak üzere iki sınıf tarafından desteklenmektedir.

İlkine, harita görevleri için girdi verilerinin nasıl bölümlenmesi gerektiğini belirlemek için başvurulur, ikincisi ise girdilerden gelen verileri okur. Veri çıkışı için ayrıca iki sınıf vardır, OutputFormat ve RecordWriter. Birinci sınıf, veri havuzu özelliklerinin temel bir doğrulamasını gerçekleştirir ve ikinci sınıf, her bir indirgeyici çıktısını veri havuzuna yazmak için kullanılır.

MapReduce'un Aşamaları Nelerdir?

MapReduce'da bir veri aşağıdaki aşamalardan geçer.

Girdi Bölmeleri: MapReduce modelindeki bir girdi, girdi bölmeleri adı verilen küçük sabit boyutlu parçalara bölünür. Girdinin bu kısmı tek bir harita tarafından tüketilir. Giriş verileri genellikle HDFS'de depolanan bir dosya veya dizindir.

Eşleme: Bu, her bölmedeki verilerin satır satır, bunları işlemek ve çıktı değerlerini üretmek için bir eşleyici işlevine iletildiği eşleme azaltma programı yürütmesinin ilk aşamasıdır.

Karıştırma: İlgili kayıtların çıktıdan konsolide edildiği Mapping çıktı aşamasının bir parçasıdır. Birleştirme ve sıralamadan oluşur. Böylece, aynı anahtarlara sahip olan tüm anahtar/değer çiftleri birleştirilir. Sıralamada birleştirme adımından gelen girdiler alınır ve sıralanır. Çıktıyı sıralayarak anahtar/değer çiftlerini döndürür.

Azalt: Karıştırma aşamasındaki tüm değerler birleştirilir ve tek bir çıkış değeri döndürülür. Böylece, tüm veri kümesini özetlemek.

Ayrıca Okuyun: Mapreduce Mülakat Soruları ve Cevapları

MapReduce Organize Nasıl Çalışır?

Hadoop, bir görevi iki bölüme ayırır: Bölmeleri ve Eşlemeyi içeren Harita görevleri ve Karıştırma ve Küçültmeyi içeren Azaltma görevleri. Bunlar, yukarıdaki bölümdeki aşamalarda belirtilmiştir. Bu görevlerin yürütülmesi, JobTracker ve Multiple Task tracker adlı iki varlık tarafından kontrol edilir.

Yürütülmesi için gönderilen her işte, NameNode'da bulunan bir JobTracker ve DataNode'da bulunan birden çok görev izleyici bulunur. Bir iş, kümedeki birden çok veri düğümünde çalışan birden çok göreve bölünür. JobTracker, görevleri çeşitli veri düğümlerinde çalışacak şekilde planlayarak etkinliği koordine eder.

Görev izleyici, bireysel görevlerin yürütülmesine bakar. Ayrıca ilerleme raporunu JobTracker'a gönderir. Periyodik olarak, sistemin mevcut durumunu bildirmek için JobTracker'a bir sinyal gönderir. Bir görev hatası olduğunda, JobTracker bunu farklı bir görev izleyicide yeniden planlar.

MapReduce'un Avantajları

Bu modeli kullanan uygulamalar için bir takım avantajlar vardır. Bunlar

  • – Büyük veri kolayca işlenebilir.
  • – Veri kümeleri paralel olarak işlenebilir.
  • – Yapılandırılmış, yapılandırılmamış ve yarı yapılandırılmış gibi her türlü veri kolayca işlenebilir.
  • – Yüksek ölçeklenebilirlik sağlanır.
  • – Kelimelerin oluşumlarını saymak kolaydır ve bu uygulamalar çok büyük veri toplamaya sahip olabilir.
  • – Büyük katılımcı örneklerine hızlı bir şekilde erişilebilir.
  • – Veri analizinde, araçları aramak için genel bir araç kullanılabilir.
  • – Büyük kümeler halinde yük dengeleme süresi sunulur.
  • – Kullanıcı konumlarının, durumlarının vb. bağlamlarını çıkarma işlemi kolayca mümkündür.
  • – Bu uygulamalara iyi bir genelleme performansı ve yakınsama sağlanır.

Okumalısınız: Mapreduce vs Apache Spark

Çözüm

MapReduce'u Hadoop'ta detaylı olarak anlattık. Giriş bölümünde hem Harita hem de Küçültün tanımlarıyla birlikte çerçevenin kısa bir açıklamasını da sağladık. Bu modelde kullanılan çeşitli terimlerin tanımları, girdi ve çıktıların detayları ile birlikte verilmiştir.

MapReduce çerçevesinde yer alan çeşitli aşamaların ayrıntılı bir açıklaması, işin nasıl organize edildiğini ayrıntılı olarak gösterir. Uygulamalar için MapReduce kullanmanın avantajları listesi, kullanımının ve uygunluğunun net bir resmini verir.

Büyük Veri hakkında daha fazla bilgi edinmek istiyorsanız, çalışan profesyoneller için tasarlanmış ve 7+ vaka çalışması ve proje sağlayan, 14 programlama dili ve aracını kapsayan, pratik uygulamalı Büyük Veride Yazılım Geliştirme Uzmanlığı programında PG Diplomamıza göz atın çalıştaylar, en iyi firmalarla 400 saatten fazla titiz öğrenim ve işe yerleştirme yardımı.

Dünyanın En İyi Üniversitelerinden Online Yazılım Geliştirme Kursları öğrenin . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

Veriye Dayalı Teknolojik Devrime Öncülük Edin

IIIT Bangalore'den Büyük Veride Gelişmiş Sertifika Programı