Anda di halaman 1dari 5

Hadoop

Hadoop adalah framework atau platform open source berbasis Java di bawah lisensi Apache
untuk support aplikasi yang jalan pada Big Data. Hadoop menggunakan teknologi Google
MapReduce dan Google File System (GFS) sebagai fondasinya.

Jika definisi hadoop dituangkan dalam poin-poin, maka berikut bullet poin-nya :
1. Hadoop merupakan framework/Platform open source berbasis Java

2. Hadoop di bawah lisensi Apache

3. Hadoop untuk support aplikasi yang jalan pada Big Data

4. Hadoop dikembangkan oleh Doug Cutting

5. Hadoop gunakan teknologi Google MapReduce dan Google File System (GFS)
Framework Hadoop tersusun dari 4 komponen utama

1. Hadoop Common adalah berisi libraries dan utilities yang dibutuhkan oleh modul Hadoop
lainnya.
2. Hadoop Distributed File System (HDFS) adalah sebuah distributed file-system.
3. Hadoop YARN adalah sebuah platform resource-management yang bertanggung jawab
untuk mengelola resources dalam clusters dan scheduling.
4. Hadoop MapReduce adalah sebuah model programming untuk pengelolaan data skala
besar.

Berikut adalah software-software yang ada di dalam Hadoop:

1. Core Hadoop

Core Hadoop terdiri dari Hadoop Distributed File System (HDFS) dan
MapReduce yang bisa diunduh di website Apache Hadoop. HDFS berfungsi untuk
mendukung pengolahan data yang besar karena ketika data diproses melalui HDFS,
data tersebut dibagi-bagi ke dalam bagian yang lebih kecil dan akan diproses secara
paralel. Sedangkan Map digunakan untuk melanjutkan proses dari HDFS untuk
diubah menjadi tuple, yakni pasangan key dan valuenya. Selanjutnya melalui tahap
Reduce, data yang berasal dari Map dilakukan tahap Shuffle dan reduce untuk
dikembalikan lagi ke HDFS.

2. Data Mining

Contoh data mining yang dapat digunakan dengan Hadoop diantaranya


Apache Pig dan Apache Hive. Data mining sebenarnya merupakan API (Application
Programming Interface) untuk menjalankan MapReduce.

3. Database NoSQL (Not Only SQL)

Tidak seperti database relasional, database NoSQL merupakan database yang


tidak menggunakan relasi antar tabel dan data yang disimpan fleksibel. Database
NoSQL dibutuhkan agar akses data dapat dilakukan dengan lebih cepat. Contoh
database NoSQL adalah Apache HBase.

4. Software pendukung lainnya

Software lainnya yang digunakan sebagai perangkat pendukung misalnya untuk


mengatur distribusi data dan pemrosesan data, mengatur input ke dalam Hadoop dari
sumber data yang bersifat streaming

Sejarah muncul Hadoop

Pembuatan Hadoop adalah sebuah inspirasi setelah terbitnya paper Google File System (GFS)
pada Oktober 2003. Isi dari paper tersebut adalah gambaran tentang Big Data yang digunakan
untuk menampung data milik Google yang sangat besar. Pada tahun 2005, Doug Cutting dan
Mike Cafarella menciptakan Hadoop saat bekerja pada perusahaan Yahoo!. Perbedaan dari Big
Data yang dimiliki Google dan Hadoop terlihat dari sifatnya yang closed source dan open
source. Siapa sangka, ternyata kata Hadoop adalah inspirasi yang didapatkan dari mainan gajah
kecil berwarna kuning milik anak Doug Couting. Hadoop versi 0.1.0 akhirnya rilis pada bulan
April 2006, sampai versi terakhir Hadoop yang rilis pada Maret 2017 adalah Apache Hadoop
2.8. Pada versi terbaru ini, layanan yang diberikan Hadoop juga termasuk untuk HDFS
(Hadoop Distributed File System), Yarn (Yet Another Resource Negotiator) dan MapReduce

Cara kerja hadoop


Suatu (mesin) client akan mengakses data tak-terstruktur dan semi-
terstruktur dari berbagai sumber data misalnya file-fie log, feed dari media sosial, atau
tempat penyimpanan data internal. Kemudian akan memecahnya menjadi beberapa
bagian yang pada gilirannya akan di-load ke sistem file yang dibuat dengan beberapa
node yang berjalan di atas suatu hardware. Sistem file default untuk menyimpan di
Hadoop adalah Hadoop Distributed File System (HDFS). Sistem file seperti HDFS ini
sangat canggih dalam menyimpan volume data tak-terstruktur dan semi-struktur dalam
jumlah yang sangat besar karena data semacam itu tidak perlu diatur ke dalam bentuk
kolom dan baris relasional (seperti dalam dbms). Masing-masing bagian di-replikasi
beberapa kali dan di-load ke sistem file sehingga bila ada node yang gagal, node yang
lain memiliki replikasi data yang berisi node yang gagal tersebut. Name Node akan
bertindak sebagai fasilitator, yang mengkomunikasikan kembali ke client tentang
informasi misalnya node mana saja yang bisa digunakan, di cluster mana data tertentu
itu sedang diproses, dan node mana saja yanyg nyag gagal.

Setelah data di-load ke cluster, data tersebut siap dianalisa melalui


framework MapReduce. Client akan mengirimkan tugas/fungsi ‘Map’, yang pada
umumnya adalah suatu query yang ditulis dalam bahasa pemrograman Java, ke salah
satu node di dalam cluster yang disebut dengan ‘Job Tracker’. Job Tracker ini kemudian
mengacu ke ‘Name Node’ untuk menentukan data mana yang perlu diakses untuk
menyelesaikan job tersebut dan di cluster mana data tersebut berada. Setelah
ditentukan, Job Tracker akan mengirimkan query ke node yang relevan. Daripada
mengirimkan kembali semua data ke mesin yang menjadi pusat untuk pemrosesan,
kemudian pemrosesan akan terjadi pada tiap-tiap node secara bersamaan atau secara
parallel. Inilah karakteristik utama dari Hadoop.

Katika tiap-tiap node telah selesai memproses pekerjaan yang diberikan,


node tersebut akan menyimpan hasil-hasilnya. Client akan memulai pekerjaan
“Reduce” melalui Job Tracker dimana hasil-hasil fase (fungai) map yang disimpan
secara lokal pada masing-masing node akan disatukan untuk menentukan
‘jawaban/hasil’ dari queri awal, dan kemudian di-load ke node yang lain di cluster
tersebut. Client akan mengakses hasil-hasil tersebut yang kemudian bisa di-load ke
salah satu dari berbagai macam sistem analisa. Pekerjaan MapReduce kemudian sudah
selesai sampai disini.

Setelah fase MapReduce selesai, data yang sudah diproses tersebut siap
untuk dilanjutkan ke analisa lebih lanjut yang dilakukan oleh para data scientist atau
orang lain yang memiliki keahliaan dalam bidang analisa data. Data scientist bisa
mengolah dan menganalisa data dengan menggunakan tool software apapun misalnya
mencari insights/wawasan dan pola-pola yang tersembunyi atau menggunakannya
sebagai fondasi dalam membuat aplikasi analytics yang akan digunakan oleh user. Data
tersebut juga bisa di-model-kan dan dipindahkan dari cluster-cluster Hadoop ke dalam
database relasional, data warehouse, dan berbagai sistem IT tradisional lainnya untuk
dilakukan analisa lebih lanjut dan/atau untuk mendukung pemrosessan transaksional.

Implementasi Hadoop

Hadoop digadang-gadang mampu menyelesaiakan permasalahan yang berkaitan


dengan data dengan jumlah yang sangat besar atau Big Data. Dengan banyaknya aliran data
dalam perkembangan internet saat ini, Hadoop dapat menjadi solusi saat diperlukan model
penyimpanan dan pengelolaan data dalam jumlah yang sangat besar. Selain itu, dengan adanya
variasi data yang sangat banyak serta kebutuhan akses data yang harus cepat pula, Hadoop
diharapkan dapat menyelesaikan permasalahan tersebut.

Beberapa perusahaan besar menggunakan Hadoop untuk mengelola data mereka dalam
jumlah sangat besar. Perusahaan tersebut diantaranya Yahoo! dan Facebook dengan klaim
bahwa Facebook memiliki Cluster Hadoop terbesar di dunia, yakni per 13 Juni 2012 mereka
memiliki 100 petabyte dan per tanggal 8 November 2012, penggunaan data di Facebook naik
kurang lebih setengah Petabyte per hari. 1 Petabyte setara dengan 1.000.000 Gigabyte. Tidak
heran, karena jumlah pengguna Faecbook di seluruh dunia hampir mencapai 2 milyar.
Bayangkan jumlah data yang mengalir dan disimpan setiap harinya.

Anda mungkin juga menyukai