Video: hadoop yarn architecture 2024
MapReduce özünde, Hadoop kümesinin bağımlı düğümlerinde dağıtılmış şekilde saklanan veri kümelerini işlemek için kullanılan bir programlama modeli. Buradaki kilit kavram böl ve fethetmektir. Spesifik olarak, büyük bir veri kümesini daha küçük parçalara ayırıp aynı algoritmayla paralel olarak işlemek istiyorsunuz.
Hadoop Dağıtılmış Dosya Sistemi (HDFS) ile, dosyalar daha şimdiden ısırık parçalara bölünür. MapReduce, tüm parçaları işlemek için kullandığınız şeydir.
MapReduce uygulamalarının, bu listede belirtildiği gibi çok safhaları vardır:
-
Veri bloklarından işlenecek kesin veri kümelerini belirleyin. Bu, işlenecek kayıtların veri bloklarındaki yerini hesaplamayı içerir.
-
Belirtilen algoritmayı, tüm kayıtlar işlenene kadar veri kümesindeki her bir kaydı çalıştırın.
Bir veri kümesindeki bir veri bloğuna karşı çalışan uygulamanın tek örneği eşleyici görevi olarak bilinir. (MapReduce'un eşleme kısmıdır.)
-
Yerel olarak her eşlemcinin çıktısının geçici olarak azaltılmasını gerçekleştirin.
(Çıktılar geçici olarak birleştirilir, diğer bir deyişle.) Bu aşama isteğe bağlıdır, bazı genel durumlarda bu arzu edilmez.
-
Bölme gereksinimlerine dayanarak, her haritacının sonuç kümelerinden geçerli verilerin bölümlerini gruplandırın.
-
Harita Oluşturucularından sonuç kümelerini tek bir sonuç kümesine kaynatın - MapReduce'un Küçültme bölümüne.
Eşlemcinin çıktı verisine karşı çalışan uygulamanın tek bir örneği redüktör görevi olarak bilinir. ("Reduce", MapReduce adının bir parçası olduğu için garip göründüğünden, bu aşama isteğe bağlı olabilir; bir azaltıcı içermeyen uygulamalar harita yalnızca işler olarak bilinir; bu, hiçbir zaman olmadığında yararlı olabilir harita görevlerinden elde edilen sonuç kümelerini birleştirmek gerekir.)