Isi kandungan:
Video: Hadoop MapReduce Example | MapReduce Programming | Hadoop Tutorial For Beginners | Edureka 2024
Untuk memahami sepenuhnya keupayaan Hadoop MapReduce, penting untuk membezakan antara MapReduce (algoritma) dan pelaksanaan MapReduce. Hadoop MapReduce adalah pelaksanaan algoritma yang dibangunkan dan diselenggarakan oleh projek Apache Hadoop.
Sangat berguna untuk memikirkan perlaksanaan ini sebagai enjin MapReduce, kerana itu adalah cara ia berfungsi. Anda memberikan input (bahan api), enjin menukar input ke output dengan cepat dan cekap, dan anda mendapat jawapan yang anda perlukan.
Hadoop MapReduce termasuk beberapa peringkat, masing-masing dengan satu set operasi yang penting yang membantu untuk mendapatkan matlamat anda untuk mendapatkan jawapan yang anda perlukan dari data besar. Proses ini bermula dengan permintaan pengguna untuk menjalankan program MapReduce dan diteruskan sehingga hasilnya ditulis semula ke HDFS.
HDFS dan MapReduce melaksanakan kerja mereka pada nod dalam kumpulan yang dihoskan pada rak pelayan komoditi. Untuk memudahkan perbincangan, rajah hanya menunjukkan dua nod.
Dapatkan data besar sedia
Apabila klien meminta program MapReduce untuk dijalankan, langkah pertama ialah mencari dan membaca fail input yang mengandungi data mentah. Format fail sepenuhnya sewenang-wenangnya, tetapi data mesti ditukar kepada sesuatu yang boleh diproses oleh program. Ini adalah fungsi InputFormat dan RecordReader. InputFormat memutuskan bagaimana fail tersebut akan dipecahkan kepada kepingan yang lebih kecil untuk diproses menggunakan fungsi yang dipanggil InputSplit.
Ia kemudiannya menyerahkan RekodReader untuk mengubah data mentah untuk diproses oleh peta. Beberapa jenis RecordReaders dibekalkan dengan Hadoop, menawarkan pelbagai pilihan penukaran. Ciri ini adalah salah satu cara yang Hadoop menguruskan pelbagai jenis data yang terdapat dalam masalah data besar.
Biarkan peta data besar dimulakan
Data anda kini dalam bentuk yang boleh diterima untuk peta. Bagi setiap pasangan input, contoh peta dipanggil untuk memproses data. Tetapi apakah yang dilakukan dengan output yang diproses, dan bagaimana anda boleh menjejaki mereka?
Peta mempunyai dua keupayaan tambahan untuk menjawab soalan. Kerana peta dan mengurangkan keperluan untuk bekerjasama untuk memproses data anda, program ini perlu mengumpulkan output dari pemetaan bebas dan lulus kepada pengurangan. Tugas ini dilakukan oleh OutputCollector. Fungsi Reporter juga menyediakan maklumat yang dikumpulkan dari tugas peta supaya anda tahu kapan atau jika tugas peta selesai.
Semua kerja ini sedang dilakukan pada beberapa nod dalam cluster Hadoop serentak.Anda mungkin mempunyai kes di mana output dari proses pemetaan tertentu perlu dikumpulkan sebelum pengurangan boleh bermula. Atau, beberapa keputusan pertengahan mungkin perlu diproses sebelum pengurangan.
Selain itu, beberapa output ini mungkin berada pada nod yang berbeza dari nod yang mana pengurangan untuk output spesifik tersebut akan dijalankan. Pengumpulan dan pengumpulan keputusan pertengahan dilakukan oleh partition dan sejenisnya. Tugas peta akan menyampaikan hasil kepada partisi tertentu sebagai input untuk mengurangkan tugas.
Setelah semua tugas peta selesai, keputusan pertengahan dikumpulkan dalam partition dan terjadi penggelapan, menyusun output untuk pemprosesan optimum dengan mengurangkan.
Mengurangkan dan menggabungkan data besar
Bagi setiap pasangan output, mengurangkan dipanggil untuk melaksanakan tugasnya. Dalam cara yang sama untuk memetakan, mengurangkan mengumpulkan outputnya sementara semua tugas diproses. Kurangkan tidak boleh bermula sehingga semua pemetaan dilakukan. Output mengurangkan juga merupakan kunci dan nilai. Walaupun ini perlu untuk mengurangkan untuk melakukan kerja, ia mungkin bukan format keluaran yang paling berkesan untuk permohonan anda.
Hadoop menyediakan ciri OutputFormat, dan ia berfungsi seperti InputFormat. OutputFormat mengambil pasangan nilai utama dan menganjurkan output untuk menulis ke HDFS. Tugas terakhir adalah untuk benar-benar menulis data ke HDFS. Ini dilakukan oleh RecordWriter, dan ia melakukan sama dengan RecordReader kecuali sebaliknya. Ia mengambil data OutputFormat dan menulisnya kepada HDFS dalam bentuk yang diperlukan untuk keperluan program.
Penyelarasan semua aktiviti ini diuruskan dalam versi sebelumnya Hadoop oleh penjadual kerja. Penjadual ini adalah asas, dan apabila campuran pekerjaan berubah dan berkembang, jelaslah bahawa pendekatan yang berbeza diperlukan. Kekurangan primer dalam penjadual lama adalah kekurangan pengurusan sumber. Versi terbaru Hadoop mempunyai keupayaan baru ini.
Hadoop MapReduce adalah jantung sistem Hadoop. Ia menyediakan semua keupayaan yang anda perlukan untuk memecahkan data besar ke dalam bahagian-bahagian yang boleh diurus, memproses data secara selari pada kelompok yang diedarkan, dan kemudian membuat data yang tersedia untuk penggunaan pengguna atau pemprosesan tambahan. Dan ia melakukan semua ini dengan cara yang sangat berdaya tahan dan toleran. Ini hanya permulaan.