Pemrosesan Data Di Hadoop: Komponen Hadoop Dijelaskan [2022]

Diterbitkan: 2021-01-03

Dengan pertumbuhan eksponensial World Wide Web selama bertahun-tahun, data yang dihasilkan juga tumbuh secara eksponensial. Hal ini menyebabkan sejumlah besar data dibuat dan menjadi sulit untuk memproses dan menyimpan jumlah data yang sangat besar ini dengan sistem basis data relasional tradisional.

Selain itu, data yang dibuat tidak hanya dalam bentuk terstruktur tetapi juga dalam format tidak terstruktur seperti video, gambar, dll. Data semacam ini tidak dapat diproses oleh database relasional. Untuk mengatasi masalah ini, Hadoop muncul.

Sebelum kita masuk ke pemrosesan data Hadoop, mari kita lihat sekilas tentang Hadoop dan komponennya. Apache Hadoop adalah kerangka kerja yang memungkinkan penyimpanan dan pemrosesan data dalam jumlah besar dengan cepat dan efisien. Ini dapat digunakan untuk menyimpan sejumlah besar data terstruktur dan tidak terstruktur. Pelajari lebih lanjut tentang ekosistem dan komponen hadoop.

Blok bangunan penting Hadoop adalah sebagai berikut: –

Daftar isi

Blok Bangunan Hadoop

1. HDFS (Lapisan penyimpanan)

Seperti namanya, Hadoop Distributed File System adalah lapisan penyimpanan Hadoop dan bertanggung jawab untuk menyimpan data dalam lingkungan terdistribusi (konfigurasi master dan slave). Ini membagi data menjadi beberapa blok data dan menyimpannya di berbagai node data. Blok data ini juga direplikasi di berbagai node data untuk mencegah hilangnya data saat salah satu node mati.

Ini memiliki dua proses utama yang berjalan untuk pemrosesan data: –

Sebuah. NamaNode

Itu berjalan di mesin master. Ini menyimpan lokasi semua file yang disimpan dalam sistem file dan melacak di mana data berada di seluruh cluster yaitu menyimpan metadata file. Ketika aplikasi klien ingin melakukan operasi tertentu pada data, itu berinteraksi dengan NameNode. Ketika NameNode menerima permintaan, ia merespons dengan mengembalikan daftar server Data Node tempat data yang diperlukan berada.

B. DataNode

Proses ini berjalan pada setiap mesin slave. Salah satu fungsinya adalah untuk menyimpan setiap blok data HDFS dalam file terpisah di sistem file lokalnya. Dengan kata lain, ini berisi data aktual dalam bentuk blok. Ini mengirimkan sinyal detak jantung secara berkala dan menunggu permintaan dari NameNode untuk mengakses data.

2. MapReduce (Lapisan pemrosesan)

Ini adalah teknik pemrograman berbasis Java yang digunakan di atas kerangka Hadoop untuk pemrosesan data dalam jumlah besar yang lebih cepat. Ini memproses data besar ini dalam lingkungan terdistribusi menggunakan banyak Node Data yang memungkinkan pemrosesan paralel dan eksekusi operasi yang lebih cepat dengan cara yang toleran terhadap kesalahan.

Pekerjaan MapReduce membagi kumpulan data menjadi beberapa potongan data yang selanjutnya diubah menjadi pasangan nilai kunci untuk diproses oleh pembuat peta. Format mentah data mungkin tidak cocok untuk diproses. Dengan demikian, data input yang kompatibel dengan fase peta dihasilkan menggunakan fungsi InputSplit dan RecordReader.

InputSplit adalah representasi logis dari data yang akan diproses oleh pembuat peta individu. RecordReader mengubah pemisahan ini menjadi catatan yang berbentuk pasangan nilai kunci. Ini pada dasarnya mengubah representasi input berorientasi byte menjadi representasi berorientasi catatan.

Catatan-catatan ini kemudian diumpankan ke pembuat peta untuk diproses lebih lanjut. Pekerjaan MapReduce terutama terdiri dari tiga fase yaitu fase Peta, fase Acak, dan fase Reduce.

Sebuah. Fase Peta

Ini adalah tahap pertama dalam pengolahan data. Tugas utama dalam fase peta adalah memproses setiap input dari RecordReader dan mengubahnya menjadi tupel perantara (pasangan nilai kunci). Output perantara ini disimpan dalam disk lokal oleh pembuat peta.

Nilai dari pasangan nilai kunci ini dapat berbeda dari yang diterima sebagai input dari RecordReader. Fase peta juga dapat berisi penggabung yang juga disebut sebagai reduksi lokal. Mereka melakukan agregasi pada data tetapi hanya dalam lingkup satu mapper.

Karena perhitungan dilakukan di seluruh node data yang berbeda, penting bahwa semua nilai yang terkait dengan kunci yang sama digabungkan menjadi satu peredam. Tugas ini dilakukan oleh partisi. Ia melakukan fungsi hash pada pasangan nilai kunci ini untuk menggabungkannya.

Ini juga memastikan bahwa semua tugas dipartisi secara merata ke reduksi. Partisi umumnya muncul ketika kita bekerja dengan lebih dari satu peredam.

B. Fase Acak dan Urutkan

Fase ini mentransfer output antara yang diperoleh dari pembuat peta ke reduksi. Proses ini disebut sebagai pengocokan. Output dari pembuat peta juga diurutkan sebelum ditransfer ke reduksi. Penyortiran dilakukan berdasarkan kunci dalam pasangan nilai kunci. Ini membantu reduksi untuk melakukan perhitungan pada data bahkan sebelum seluruh data diterima dan akhirnya membantu dalam mengurangi waktu yang dibutuhkan untuk perhitungan.

Saat kunci diurutkan, setiap kali peredam mendapatkan kunci yang berbeda sebagai input, ia mulai melakukan tugas pengurangan pada data yang diterima sebelumnya.

C. Kurangi Fase

Output dari fase peta berfungsi sebagai input ke fase reduksi. Dibutuhkan pasangan nilai-kunci ini dan menerapkan fungsi pengurangan pada pasangan tersebut untuk menghasilkan hasil yang diinginkan. Kunci dan nilai yang terkait dengan kunci diteruskan ke fungsi reduksi untuk melakukan operasi tertentu.

Kita dapat memfilter data atau menggabungkannya untuk mendapatkan output agregat. Setelah eksekusi fungsi reduksi, ini dapat membuat nol atau lebih pasangan nilai kunci. Hasil ini ditulis kembali di Sistem File Terdistribusi Hadoop.

3. BENANG (Lapisan manajemen)

Namun Navigator Sumber Daya Lain adalah komponen pengelolaan sumber daya Hadoop. Ada proses latar belakang yang berjalan di setiap node (Node Manager pada mesin slave dan Resource Manager pada master node) yang berkomunikasi satu sama lain untuk alokasi sumber daya. Resource Manager adalah inti dari lapisan YARN yang mengelola sumber daya di antara semua aplikasi dan meneruskan permintaan ke Node Manager.

Node Manager memantau pemanfaatan sumber daya seperti memori, CPU, dan disk mesin dan menyampaikan hal yang sama ke Resource Manager. Itu diinstal pada setiap Node Data dan bertanggung jawab untuk menjalankan tugas-tugas pada Node Data.

Harus Dibaca: 10 Alat Hadoop Teratas untuk Insinyur Data Besar

Kesimpulan

Seluruh alur kerja untuk pemrosesan data di Hadoop dapat diringkas sebagai berikut: –

  • Pemisahan Masukan ; secara logis membagi data yang berada di HDFS menjadi beberapa blok data. Keputusan tentang bagaimana membagi data dilakukan oleh Format Input .
  • Data diubah menjadi pasangan nilai kunci oleh RecordReader. RecordReader mengubah data berorientasi byte menjadi data berorientasi rekaman. Data ini berfungsi sebagai input ke mapper.
  • Pemeta, yang tidak lain adalah fungsi yang ditentukan pengguna memproses pasangan nilai kunci ini dan menghasilkan pasangan nilai kunci perantara untuk diproses lebih lanjut.
  • Pasangan ini direduksi secara lokal (dalam lingkup satu mapper) oleh penggabung untuk mengurangi jumlah data yang akan ditransfer dari mapper ke peredam.
  • Partitioner memastikan bahwa semua nilai dengan kunci yang sama digabungkan menjadi peredam yang sama dan tugas didistribusikan secara merata di antara reduksi.
  • Pasangan nilai kunci perantara ini kemudian dikocok ke reduksi dan diurutkan berdasarkan kunci. Hasil ini diumpankan ke reduksi sebagai input.
  • Fungsi pengurangan mengumpulkan nilai untuk setiap kunci dan hasilnya disimpan kembali ke dalam HDFS menggunakan RecordWriter. Sebelum menulisnya kembali ke HDFS, format di mana data harus ditulis ditentukan oleh Outputformat .

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.

Kuasai Teknologi Masa Depan - Big Data

400+ JAM BELAJAR. 14 BAHASA & ALAT. STATUS ALUMNI IIIT-B.
Program Sertifikat Tingkat Lanjut dalam Data Besar dari IIIT Bangalore