Daftar Isi:
Video: MapReduce Tutorial | What is MapReduce | Hadoop MapReduce Tutorial | Edureka 2024
Untuk memahami kemampuan Hadoop MapReduce, penting untuk membedakan antara MapReduce (algoritma) dan sebuah implementasi MapReduce. Hadoop MapReduce adalah implementasi dari algoritma yang dikembangkan dan dikelola oleh proyek Apache Hadoop.
Sangat membantu untuk memikirkan penerapan ini sebagai mesin MapReduce, karena memang itulah cara kerjanya. Anda memberi masukan (bahan bakar), mesin mengubah input menjadi output dengan cepat dan efisien, dan Anda mendapatkan jawaban yang Anda butuhkan.
Peta HadoopReduce mencakup beberapa tahap, masing-masing dengan serangkaian operasi penting yang membantu mencapai tujuan Anda mendapatkan jawaban yang Anda butuhkan dari data besar. Prosesnya dimulai dengan permintaan pengguna untuk menjalankan program MapReduce dan berlanjut sampai hasilnya ditulis kembali ke HDFS.
HDFS dan MapReduce melakukan pekerjaan mereka pada node dalam sebuah cluster yang berada di rak server komoditas. Untuk mempermudah pembahasan, diagram hanya menunjukkan dua simpul.
Dapatkan data besar siap
Saat klien meminta program MapReduce untuk dijalankan, langkah pertama adalah mencari dan membaca file masukan yang berisi data mentah. Format file benar-benar sewenang-wenang, namun datanya harus dikonversi menjadi sesuatu yang bisa diolah program. Ini adalah fungsi InputFormat dan RecordReader. InputFormat memutuskan bagaimana file tersebut akan dipecah menjadi potongan-potongan kecil untuk diproses menggunakan fungsi yang disebut InputSplit.
Kemudian ia memberi RecordReader untuk mengubah data mentah untuk diproses oleh peta. Beberapa jenis RecordReader disertakan bersama Hadoop, menawarkan berbagai pilihan konversi. Fitur ini adalah salah satu cara yang digunakan Hadoop dalam berbagai jenis data yang ditemukan pada masalah data yang besar.
Biarkan peta data besar dimulai
Data Anda sekarang dalam bentuk yang dapat diterima untuk dipetakan. Untuk setiap pasangan input, contoh peta yang berbeda dipanggil untuk memproses data. Tapi apa fungsinya dengan hasil olahan, dan bagaimana Anda bisa melacaknya?
Peta memiliki dua kemampuan tambahan untuk menjawab pertanyaan. Karena peta dan pengurangan perlu bekerja sama untuk mengolah data Anda, program perlu mengumpulkan output dari pemotong independen dan menyebarkannya ke reducer. Tugas ini dilakukan oleh sebuah OutputCollector. Fungsi Reporter juga menyediakan informasi yang dikumpulkan dari tugas peta sehingga Anda tahu kapan atau jika tugas peta selesai.
Semua pekerjaan ini sedang dilakukan pada banyak node di cluster Hadoop secara bersamaan.Anda mungkin memiliki kasus dimana output dari proses pemetaan tertentu perlu diakumulasikan sebelum reduksi dapat dimulai. Atau, beberapa hasil antara mungkin perlu diproses sebelum dikurangi.
Selain itu, beberapa output ini mungkin berada pada simpul yang berbeda dari simpul dimana reduksi untuk output spesifik tersebut akan berjalan. Pengumpulan dan pengocokan hasil antara dilakukan oleh sebuah partisi dan sejenisnya. Tugas peta akan mengantarkan hasilnya ke partisi tertentu sebagai masukan untuk mengurangi tugas.
Setelah semua tugas peta selesai, hasil antara dikumpulkan di partisi dan terjadi pengocokan, memilah output untuk pengolahan optimal dengan mengurangi.
Kurangi dan kombinasikan data besar
Untuk setiap pasangan output, kurangi panggilan untuk melakukan tugasnya. Dengan cara yang sama untuk memetakan, mengurangi mengumpulkan hasilnya sementara semua tugas sedang diproses. Kurangi tidak bisa dimulai sampai semua pemetaan selesai dilakukan. Output dari pengurangan juga merupakan kunci dan nilai. Meskipun hal ini diperlukan untuk mengurangi pekerjaannya, ini mungkin bukan format keluaran yang paling efektif untuk aplikasi Anda.
Hadoop menyediakan fitur OutputFormat, dan bekerja sangat mirip dengan InputFormat. OutputFormat mengambil pasangan kunci-nilai dan mengatur output untuk menulis ke HDFS. Tugas terakhir adalah menulis data ke HDFS. Hal ini dilakukan oleh RecordWriter, dan kinerjanya mirip dengan RecordReader kecuali sebaliknya. Dibutuhkan data OutputFormat dan menuliskannya ke HDFS dalam bentuk yang diperlukan untuk persyaratan program.
Koordinasi semua kegiatan ini dikelola di versi sebelumnya Hadoop oleh seorang penjadwal pekerjaan. Penjadwal ini tidak sempurna, dan saat perpaduan pekerjaan berubah dan berkembang, jelas bahwa diperlukan pendekatan yang berbeda. Kekurangan utama pada penjadwal lama adalah kurangnya pengelolaan sumber daya. Versi terbaru dari Hadoop memiliki kemampuan baru ini.
Peta HadoopReduce adalah jantung dari sistem Hadoop. Ini menyediakan semua kemampuan yang Anda butuhkan untuk memecahkan data besar ke dalam potongan yang dapat diatur, memproses data secara paralel di cluster terdistribusi Anda, dan kemudian membuat data tersedia untuk konsumsi pengguna atau pemrosesan tambahan. Dan semua ini bekerja dengan cara yang sangat tahan banting dan toleransi kesalahan. Ini baru permulaan.