Video: Hadoop Processing Frameworks 2024
MapReduce adalah paradigma pemrograman yang dirancang untuk memungkinkan pemrosesan terdistribusi paralel dari kumpulan besar data, mengubahnya menjadi set tupel, dan kemudian menggabungkan dan mengurangi tupel tersebut menjadi kumpulan tupel yang lebih kecil. Dalam istilah awam, MapReduce dirancang untuk mengambil data besar dan menggunakan komputasi terdistribusi paralel untuk mengubah data besar menjadi data berukuran kecil atau berukuran biasa.
Pengolahan terdistribusi paralel mengacu pada kerangka kerja yang kuat dimana volume data massal diproses dengan sangat cepat dengan mendistribusikan tugas pemrosesan melintasi kelompok server komoditas. Sehubungan dengan MapReduce, tupel merujuk ke pasangan nilai kunci dimana data dikelompokkan, diurutkan, dan diproses.
MapReduce pekerjaan bekerja melalui peta dan mengurangi urutan operasi proses di kumpulan server terdistribusi. Di tugas peta , Anda mendelegasikan data Anda ke pasangan nilai kunci, mengubahnya, dan memfilternya. Kemudian Anda tetapkan data ke node untuk diproses.
Di kurangi tugas , Anda agregat data tersebut ke kumpulan data berukuran lebih kecil. Data dari langkah pengurangan diubah menjadi format nilai kunci standar - di mana kunci bertindak sebagai pengenal catatan dan nilai adalah nilai yang diidentifikasi dengan kunci Simpul komputasi cluster memproses peta dan mengurangi tugas yang didefinisikan oleh pengguna. Pekerjaan ini dilakukan sesuai dengan dua langkah berikut:
-
Peta data.
Data yang masuk pertama-tama harus didelegasikan ke pasangan kunci dan dibagi menjadi fragmen, yang kemudian ditugaskan untuk memetakan tugas. Setiap cluster komputasi - sekelompok node yang terhubung satu sama lain dan melakukan tugas komputasi bersama - diberi sejumlah tugas peta, yang kemudian didistribusikan di antara nodusnya.
Setelah memproses pasangan kunci-nilai, pasangan kunci-nilai antara dihasilkan. Pasangan kunci-nilai antara diurutkan berdasarkan nilai kunci mereka, dan daftar ini dibagi menjadi serangkaian fragmen baru. Apapun jumlah yang Anda miliki untuk fragmen baru ini, itu akan sama dengan hitungan pengurangan tugas.
-
Kurangi data.
Setiap pengurangan tugas memiliki fragmen yang ditugaskan padanya. Tugas yang dikurangi hanya memproses fragmen dan menghasilkan keluaran, yang juga merupakan pasangan nilai kunci. Mengurangi tugas juga didistribusikan di antara berbagai node cluster. Setelah tugas selesai, hasil akhir ditulis ke sistem file.
Singkatnya, Anda dapat dengan cepat dan efisien mendidih dan mulai memahami volume, kecepatan, dan variasi data yang besar dengan menggunakan peta dan mengurangi tugas untuk menandai data Anda dengan pasangan (kunci, nilai), dan kemudian mengurangi pasangan tersebut menjadi kumpulan data yang lebih kecil melalui operasi agregasi - operasi yang menggabungkan beberapa nilai dari kumpulan data menjadi satu nilai tunggal.Diagram arsitektur MapReduce dapat ditemukan di sini.
Jika data Anda tidak memberi tag dan diproses melalui kunci, nilai, dan agregasi, maka peta dan kurangi umumnya tidak sesuai untuk kebutuhan Anda.
Jika Anda menggunakan MapReduce sebagai bagian dari solusi Hadoop, maka hasil akhirnya ditulis ke Sistem Berkas Terdistribusi Hadoop (HDFS) . HDFS adalah sistem file yang mencakup cluster server komoditas yang digunakan untuk menyimpan data besar. HDFS membuat penanganan dan penyimpanan data yang besar layak secara finansial dengan mendistribusi tugas penyimpanan di cluster server komoditas murah.