MapReduce di Hadoop: Fase, Input & Output, Fungsi & Keuntungan

Diterbitkan: 2020-12-24

Hadoop MapReduce adalah model pemrograman dan kerangka kerja perangkat lunak yang digunakan untuk menulis aplikasi yang memproses data dalam jumlah besar. Ada dua fase dalam program MapReduce, Map dan Reduce.

Tugas Peta mencakup pemisahan dan pemetaan data dengan mengambil kumpulan data dan mengubahnya menjadi kumpulan data lain, di mana elemen individual dipecah menjadi tupel yaitu pasangan kunci/nilai. Setelah itu, Reduce task mengacak dan mengurangi data, yang berarti menggabungkan tupel data berdasarkan kunci dan memodifikasi nilai kunci yang sesuai.

Dalam kerangka Hadoop, model MapReduce adalah komponen inti untuk pemrosesan data. Dengan menggunakan model ini, sangat mudah untuk menskalakan aplikasi untuk menjalankan ratusan, ribuan, dan lebih banyak mesin dalam sebuah cluster hanya dengan melakukan perubahan konfigurasi. Ini juga karena program model dalam komputasi awan bersifat paralel. Hadoop memiliki kemampuan menjalankan MapReduce dalam banyak bahasa seperti Java, Ruby, Python dan C++. Baca lebih lanjut tentang arsitektur mapreduce.

Daftar isi

Masukan dan keluaran

Model MapReduce beroperasi pada pasangan <key, value>. Ini melihat input ke pekerjaan sebagai satu set pasangan <key, value> dan menghasilkan set pasangan <key, value> yang berbeda sebagai output dari pekerjaan. Input data didukung oleh dua kelas dalam framework ini, yaitu InputFormat dan RecordReader.

Yang pertama dikonsultasikan untuk menentukan bagaimana data input harus dipartisi untuk tugas peta, sedangkan yang terakhir membaca data dari input. Untuk output datanya juga ada dua kelas, OutputFormat dan RecordWriter. Kelas pertama melakukan validasi dasar properti data sink dan kelas kedua digunakan untuk menulis setiap output peredam ke data sink.

Apa Fase dari MapReduce?

Di MapReduce, sebuah data melewati fase-fase berikut.

Input Splits: Sebuah input dalam model MapReduce dibagi menjadi bagian-bagian kecil berukuran tetap yang disebut input split. Bagian input ini dikonsumsi oleh satu peta. Data masukan umumnya berupa file atau direktori yang disimpan dalam HDFS.

Pemetaan: Ini adalah fase pertama dalam eksekusi program pengurangan peta di mana data di setiap pemisahan dilewatkan baris demi baris, ke fungsi mapper untuk memprosesnya dan menghasilkan nilai keluaran.

Pengacakan: Ini adalah bagian dari fase keluaran Pemetaan di mana catatan yang relevan dikonsolidasikan dari keluaran. Ini terdiri dari penggabungan dan pengurutan. Jadi, semua pasangan nilai kunci yang memiliki kunci yang sama digabungkan. Dalam pengurutan, input dari langkah penggabungan diambil dan diurutkan. Ini mengembalikan pasangan nilai kunci, menyortir output.

Reduce: Semua nilai dari fase pengacakan digabungkan dan nilai output tunggal dikembalikan. Jadi, meringkas seluruh dataset.

Baca Juga: Pertanyaan & Jawaban Wawancara Mapreduce

Bagaimana MapReduce Organize Bekerja?

Hadoop membagi tugas menjadi dua bagian, tugas Peta yang mencakup Pemisahan dan Pemetaan, dan Kurangi tugas yang mencakup Pengacakan dan Pengurangan. Ini disebutkan dalam fase-fase di bagian di atas. Pelaksanaan tugas-tugas ini dikendalikan oleh dua entitas yang disebut JobTracker dan Multiple Task tracker.

Dengan setiap pekerjaan yang dikirimkan untuk dieksekusi, ada JobTracker yang berada di NameNode dan beberapa pelacak tugas yang berada di DataNode. Sebuah pekerjaan akan dibagi menjadi beberapa tugas yang dijalankan ke beberapa node data dalam cluster. JobTracker mengoordinasikan aktivitas dengan menjadwalkan tugas untuk dijalankan di berbagai node data.

Pelacak tugas menjaga pelaksanaan tugas individu. Itu juga mengirimkan laporan kemajuan ke JobTracker. Secara berkala, ia mengirimkan sinyal ke JobTracker untuk memberi tahu status sistem saat ini. Saat ada kegagalan tugas, JobTracker menjadwal ulangnya di pelacak tugas yang berbeda.

Keuntungan dari MapReduce

Ada sejumlah keuntungan untuk aplikasi yang menggunakan model ini. Ini adalah

  • – Data besar dapat dengan mudah ditangani.
  • – Dataset dapat diproses secara paralel.
  • – Semua jenis data seperti terstruktur, tidak terstruktur dan semi terstruktur dapat dengan mudah diproses.
  • - Skalabilitas tinggi disediakan.
  • – Menghitung kemunculan kata-kata itu mudah dan aplikasi ini dapat memiliki pengumpulan data yang sangat besar.
  • – Sampel responden yang besar dapat diakses dengan cepat.
  • – Dalam analisis data, alat generik dapat digunakan untuk mencari alat.
  • – Waktu penyeimbangan beban ditawarkan dalam kelompok besar.
  • – Proses mengekstrak konteks lokasi pengguna, situasi, dll. dengan mudah dapat dilakukan.
  • – Performa generalisasi dan konvergensi yang baik disediakan untuk aplikasi ini.

Wajib Dibaca: Mapreduce vs Apache Spark

Kesimpulan

Kami telah menjelaskan MapReduce di Hadoop secara rinci. Kami juga memberikan deskripsi singkat tentang kerangka kerja bersama dengan definisi Peta dan Pengurangan dalam pendahuluan. Definisi berbagai istilah yang digunakan dalam model ini diberikan bersama dengan rincian input dan output.

Penjelasan rinci tentang berbagai fase yang terlibat dalam kerangka MapReduce yang diilustrasikan secara rinci bagaimana pekerjaan diatur. Daftar keuntungan menggunakan MapReduce untuk aplikasi memberikan gambaran yang jelas tentang penggunaan dan relevansinya

Jika Anda tertarik untuk mengetahui lebih banyak tentang Big Data, lihat Diploma PG kami dalam Spesialisasi Pengembangan Perangkat Lunak dalam program Big Data yang dirancang untuk para profesional yang bekerja dan menyediakan 7+ studi kasus & proyek, mencakup 14 bahasa & alat pemrograman, praktik langsung lokakarya, lebih dari 400 jam pembelajaran yang ketat & bantuan penempatan kerja dengan perusahaan-perusahaan top.

Pelajari Kursus Pengembangan Perangkat Lunak online dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Lanjutan, atau Program Magister untuk mempercepat karier Anda.

Pimpin Revolusi Teknologi Berbasis Data

Program Sertifikat Tingkat Lanjut dalam Data Besar dari IIIT Bangalore