Apa itu MapReduce di Hadoop? Data besar Architekstur

Apa itu MapReduce di Hadoop?

PetaKurangi adalah kerangka perangkat lunak dan model pemrograman yang digunakan untuk memproses data dalam jumlah besar. PetaKurangi program bekerja dalam dua tahap yaitu Map dan Reduce. Tugas peta menangani pemisahan dan pemetaan data, sementara tugas Mengurangi mengacak dan mengurangi data.

Hadoop mampu menjalankan program MapReduce yang ditulis dalam berbagai bahasa: Java, rubi, Python, dan C++Program Map Reduce dalam komputasi awan bersifat paralel, sehingga sangat berguna untuk melakukan analisis data skala besar dengan menggunakan beberapa mesin dalam kluster.

Masukan untuk setiap fase adalah nilai kunci berpasangan. Selain itu, setiap programmer perlu menentukan dua fungsi: fungsi peta dan mengurangi fungsi.

PetaKurangi Archikuliah di Big Data dijelaskan dengan Contoh

Keseluruhan proses melalui empat tahap pelaksanaan yaitu pemisahan, pemetaan, pengocokan, dan pengurangan.

Sekarang dalam tutorial MapReduce ini, mari kita pahami dengan contoh MapReduce–

Pertimbangkan Anda memiliki data input berikut untuk MapReduce Anda di Program data besar

Welcome to Hadoop Class
Hadoop is good
Hadoop is bad
PetaKurangi Architekstur
PetaKurangi Architekstur

Hasil akhir dari tugas MapReduce adalah

buruk 1
Kelas 1
baik 1
Hadoop 3
is 2
untuk 1
Selamat Datang 1

Data melewati fase-fase berikut MapReduce dalam Big Data

Pembagian Masukan:

Masukan ke pekerjaan MapReduce di Big Data dibagi menjadi bagian-bagian berukuran tetap yang disebut pemisahan masukan Pemisahan input adalah sebagian dari input yang digunakan oleh satu peta

Pemetaan

Ini adalah fase pertama dalam pelaksanaan program map-reduce. Dalam fase ini data dalam setiap split dilewatkan ke fungsi pemetaan untuk menghasilkan nilai output. Dalam contoh kita, tugas fase pemetaan adalah menghitung sejumlah kemunculan setiap kata dari input split (detail lebih lanjut tentang input-split diberikan di bawah) dan menyiapkan daftar dalam bentuk

Mengocok

Fase ini menggunakan output dari fase Pemetaan. Tugasnya adalah mengkonsolidasikan catatan yang relevan dari keluaran fase Pemetaan. Dalam contoh kita, kata-kata yang sama digabungkan dengan frekuensinya masing-masing.

Mengurangi

Pada fase ini, nilai output dari fase Shuffling digabungkan. Fase ini menggabungkan nilai dari fase Shuffling dan mengembalikan satu nilai output. Singkatnya, fase ini merangkum kumpulan data lengkap.

Dalam contoh kita, fase ini mengagregasi nilai-nilai dari fase Pengocokan, yaitu menghitung total kemunculan setiap kata.

PetaKurangi Architekstur dijelaskan secara rinci

  • Satu tugas peta dibuat untuk setiap pemisahan yang kemudian menjalankan fungsi peta untuk setiap catatan dalam pemisahan tersebut.
  • Melakukan beberapa pemisahan selalu bermanfaat karena waktu yang diperlukan untuk memproses suatu pemisahan lebih kecil dibandingkan dengan waktu yang diperlukan untuk memproses keseluruhan masukan. Ketika pemisahan lebih kecil, pemrosesan lebih baik dilakukan secara seimbang karena kita memproses pemisahan secara paralel.
  • Namun, ukuran belahan yang terlalu kecil juga tidak diinginkan. Ketika pemisahan terlalu kecil, beban berlebihan dalam mengelola pemisahan dan pembuatan tugas peta mulai mendominasi total waktu pelaksanaan pekerjaan.
  • Untuk sebagian besar pekerjaan, lebih baik membuat ukuran terpisah sama dengan ukuran blok HDFS (yaitu 64 MB, secara default).
  • Eksekusi tugas peta menghasilkan keluaran penulisan ke disk lokal pada node masing-masing dan bukan ke HDFS.
  • Alasan memilih disk lokal daripada HDFS adalah, untuk menghindari replikasi yang terjadi jika terjadi operasi penyimpanan HDFS.
  • Keluaran peta merupakan keluaran antara yang diproses dengan tugas reduksi untuk menghasilkan keluaran akhir.
  • Setelah pekerjaan selesai, keluaran peta dapat dibuang. Jadi, menyimpannya dalam HDFS dengan replikasi menjadi berlebihan.
  • Jika terjadi kegagalan simpul, sebelum keluaran peta digunakan oleh tugas pengurangan, Hadoop menjalankan kembali tugas peta pada simpul lain dan membuat ulang keluaran peta.
  • Mengurangi tugas tidak berfungsi pada konsep lokalitas data. Output dari setiap tugas peta diumpankan ke tugas pengurangan. Output peta ditransfer ke mesin tempat tugas pengurangan berjalan.
  • Pada mesin ini, output digabungkan dan kemudian diteruskan ke fungsi pengurangan yang ditentukan pengguna.
  • Berbeda dengan keluaran peta, keluaran pengurangan disimpan di dalamnya HDFS (replika pertama disimpan di node lokal dan replika lainnya disimpan di node off-rack). Jadi, menulis output pengurangan

Bagaimana MapReduce Mengorganisir Pekerjaan?

Sekarang dalam tutorial MapReduce ini, kita akan mempelajari cara kerja MapReduce

Hadoop membagi pekerjaan menjadi tugas-tugas. Ada dua jenis tugas:

  1. Memetakan tugas (Pemisahan & Pemetaan)
  2. Kurangi tugas (Mengocok, Mengurangi)

seperti disebutkan di atas.

Proses eksekusi lengkap (eksekusi tugas Map dan Reduce, keduanya) dikendalikan oleh dua jenis entitas yang disebut a

  1. pelacak pekerjaan: Bertindak seperti a menguasai (bertanggung jawab atas pelaksanaan lengkap pekerjaan yang diserahkan)
  2. Pelacak Tugas Berganda: Bertindak seperti budak, masing-masing dari mereka melakukan pekerjaan itu

Untuk setiap pekerjaan yang diserahkan untuk dieksekusi dalam sistem, ada satu pelacak pekerjaan yang tinggal di Node nama dan ada beberapa pelacak tugas yang tinggal di simpul data.

Bagaimana Hadoop MapReduce Bekerja
Bagaimana Hadoop MapReduce Bekerja
  • Suatu pekerjaan dibagi menjadi beberapa tugas yang kemudian dijalankan ke beberapa simpul data dalam satu klaster.
  • Pelacak pekerjaan bertanggung jawab untuk mengoordinasikan aktivitas dengan menjadwalkan tugas agar dijalankan pada node data yang berbeda.
  • Eksekusi tugas individu kemudian dijaga oleh pelacak tugas, yang berada di setiap node data yang menjalankan bagian pekerjaan.
  • Tanggung jawab pelacak tugas adalah mengirimkan laporan kemajuan ke pelacak pekerjaan.
  • Selain itu, pelacak tugas mengirimkan secara berkala 'denyut jantung' sinyal ke Jobtracker untuk memberitahukannya tentang keadaan sistem saat ini.
  • Dengan demikian pelacak pekerjaan melacak kemajuan keseluruhan setiap pekerjaan. Jika terjadi kegagalan tugas, pelacak pekerjaan dapat menjadwalkan ulang tugas tersebut pada pelacak tugas yang berbeda.