Apache Hadoop Framework dalam Processing Data

Apache Hadoop adalah sebuah framework open-source yang digunakan untuk penyimpanan dan pemrosesan data dalam skala besar secara terdistribusi. Dikembangkan oleh Apache Software Foundation, Hadoop dirancang untuk menangani data dalam jumlah besar (big data) dengan efisiensi tinggi.
Sejarah Hadoop berawal dari proyek open-source yang terinspirasi oleh sistem penyimpanan dan pemrosesan data yang digunakan oleh Google, yaitu Google File System (GFS) dan MapReduce. Seiring waktu, Hadoop berkembang menjadi salah satu solusi utama dalam dunia big data dan analitika data.
Hadoop banyak digunakan di berbagai industri seperti teknologi, finansial, kesehatan, dan e-commerce untuk mengelola data dalam skala besar. Dengan kemampuannya dalam menangani data dalam format terstruktur maupun tidak terstruktur, Hadoop menjadi solusi yang efisien dalam pengelolaan data besar. Selain itu, Hadoop memungkinkan data untuk diproses lebih cepat dan lebih aman berkat sistem replication, yang memastikan bahwa salinan data disimpan di beberapa node sehingga mengurangi risiko kehilangan data dan meningkatkan keandalan sistem.
Arsitektur Apache Hadoop
1. Hadoop Distributed File System (HDFS)
HDFS merupakan sistem penyimpanan utama yang digunakan oleh Hadoop untuk menampung data sebelum diproses maupun hasil data yang telah diproses. HDFS memiliki fitur replication, di mana data yang masuk ke dalam file system akan dibagi menjadi blok-blok kecil dan disimpan dalam beberapa node dalam cluster. Hal ini meningkatkan fault tolerance dan availability dari sistem Hadoop.
2. MapReduce
MapReduce adalah model pemrosesan data yang digunakan oleh Apache Hadoop untuk melakukan pre-processing sebelum data diproses lebih lanjut. Model ini membantu menyusun data agar lebih terstruktur, efisien, dan mudah diproses. MapReduce terdiri dari beberapa tahapan utama, yaitu:
- Mapping: Memetakan dan mengelompokkan data berdasarkan key-value.
- Splitting: Membagi data ke dalam bagian-bagian yang lebih kecil.
- Sorting: Mengurutkan data berdasarkan key-value agar lebih mudah diproses.
3. Yet Another Resource Negotiator (YARN)
YARN adalah komponen yang bertanggung jawab dalam manajemen sumber daya di dalam ekosistem Hadoop. YARN mengatur resource yang akan digunakan dalam pemrosesan data dengan cara:
- Membagi resource seperti CPU, RAM, dan storage ke dalam cluster-cluster tertentu.
- Melakukan eksekusi pemrosesan data dalam Hadoop.
- Mengoptimalkan alokasi sumber daya untuk meningkatkan efisiensi sistem.
Cara Kerja Apache Hadoop
1. Proses Penyimpanan Data
Apache Hadoop menyimpan data dalam HDFS, di mana data akan dibagi menjadi blok-blok kecil (node) dalam suatu cluster. Data ini kemudian direplikasi menggunakan replication mechanism, sehingga jika terjadi kegagalan pada suatu node dalam cluster, data tetap tersedia pada node lainnya.
2. Pemrosesan Data
MapReduce melakukan pemrosesan data secara paralel di berbagai node dalam cluster. Proses ini terdiri dari:
- Tahap Mapping: Data dipecah menjadi key-value untuk pengelompokkan awal.
- Tahap Reducing (Splitting dan Sorting): Hadoop mengelompokkan dan mengolah data berdasarkan hasil mapping yang telah dilakukan sebelumnya.
3. Manajemen Resource
YARN bertanggung jawab atas manajemen resource dalam cluster Hadoop. YARN mengatur pembagian sumber daya serta mengoordinasikan tugas-tugas pemrosesan data yang berjalan pada node-node dalam ekosistem Hadoop.