Apa itu Apache Hadoop?

Software Apache Hadoop adalah framework open source yang memungkinkan penyimpanan dan pemrosesan set data besar secara terdistribusi di berbagai cluster komputer menggunakan model pemrograman sederhana. Hadoop dirancang untuk meningkatkan skala dari satu komputer hingga ribuan komputer yang dikelompokkan, dengan setiap mesin menawarkan komputasi dan penyimpanan lokal. Dengan cara ini, Hadoop dapat menyimpan dan memproses set data besar secara efisien, mulai dari ukuran gigabyte hingga petabyte.

Pelajari cara menggunakan Dataproc untuk menjalankan cluster Apache Hadoop di Google Cloud, dengan cara yang lebih mudah, terintegrasi, dan hemat biaya.

Histori Hadoop

Hadoop berawal dari era awal World Wide Web. Seiring perkembangan web hingga berjuta-juta halaman, tugas menelusuri dan mengembalikan hasil penelusuran menjadi salah satu tantangan yang paling menonjol. Startup seperti Google, Yahoo, dan AltaVista mulai membuat framework untuk mengotomatiskan hasil penelusuran. Salah satu proyek bernama Nutch dibangun oleh ilmuwan komputer Doug Cutting dan Mike Cafarella berdasarkan karya awal Google tentang MapReduce (lebih lanjut tentang itu nanti) dan Google File System. Nutch akhirnya dipindahkan ke fondasi software open source Apache dan dibagi antara Nutch dan Hadoop. Yahoo, tempat Cutting mulai bekerja pada 2006, Hadoop open source pada 2008.

Meskipun Hadoop kadang-kadang disebut sebagai akronim untuk High Availability Distributed Object Oriented Platform, Hadoop mulanya diberi nama berdasarkan gajah mainan anak Cutting.

Hadoop ditentukan

Hadoop adalah framework open source berbasis Java yang mengelola penyimpanan dan pemrosesan data dalam jumlah besar untuk aplikasi. Hadoop menggunakan penyimpanan terdistribusi dan pemrosesan paralel untuk menangani tugas big data dan analisis, memecah beban kerja menjadi beban kerja yang lebih kecil yang dapat dijalankan secara bersamaan.

Empat modul terdiri dari framework Hadoop utama dan bekerja secara kolektif untuk membentuk ekosistem Hadoop:

Hadoop Distributed File System (HDFS): Sebagai komponen utama ekosistem Hadoop, HDFS adalah sistem file terdistribusi tempat setiap node Hadoop beroperasi pada data yang berada di penyimpanan lokal mereka. Tindakan ini akan menghilangkan latensi jaringan, sehingga menyediakan akses throughput tinggi ke data aplikasi. Selain itu, administrator tidak perlu menentukan skema sejak awal.

Yet Another Resource Negotiator (YARN): YARN adalah platform pengelolaan resource yang bertanggung jawab untuk mengelola resource komputasi dalam cluster dan menggunakannya untuk menjadwalkan aplikasi pengguna. Server ini menjalankan penjadwalan dan alokasi sumber daya di seluruh sistem Hadoop.

MapReduce: MapReduce adalah model pemrograman untuk pemrosesan data berskala besar. Pada model MapReduce, subset dari set data yang lebih besar dan petunjuk untuk memproses subset dikirim ke beberapa node yang berbeda, di mana setiap subset diproses oleh node secara paralel dengan tugas pemrosesan lainnya. Setelah memproses hasilnya, masing-masing subset digabungkan menjadi set data yang lebih kecil dan lebih mudah dikelola.

Hadoop Common: Hadoop Common mencakup library dan utilitas yang digunakan dan dibagikan oleh modul Hadoop lainnya. 

Selain HDFS, YARN, dan MapReduce, seluruh ekosistem open source Hadoop terus berkembang dan mencakup banyak alat serta aplikasi untuk membantu mengumpulkan, menyimpan, memproses, menganalisis, dan mengelola big data. Ini termasuk Apache Pig, Apache Hive, Apache HBase, Apache Spark, Presto, dan Apache Zeppelin.

Bagaimana cara kerja Hadoop?

Hadoop memungkinkan distribusi set data di seluruh cluster hardware komoditas. Pemrosesan dilakukan secara paralel di beberapa server secara bersamaan.

Klien software memasukkan data ke Hadoop. HDFS menangani metadata dan sistem file terdistribusi. MapReduce kemudian memproses dan mengonversi data tersebut. Terakhir, YARN membagi tugas di seluruh cluster komputasi.

Semua modul Hadoop dirancang dengan asumsi dasar bahwa kegagalan hardware pada setiap mesin atau rak mesin adalah hal yang biasa dan harus ditangani secara otomatis dalam software oleh framework.

Apa saja manfaat Hadoop?

Skalabilitas

Hadoop penting sebagai salah satu alat utama untuk menyimpan dan memproses data dalam jumlah besar dengan cepat. Ini dilakukan dengan menggunakan model komputasi terdistribusi yang memungkinkan pemrosesan data secara cepat dan dapat diskalakan secara cepat dengan menambahkan node komputasi.

Hemat biaya

Sebagai framework open source yang dapat berjalan pada hardware komoditas dan memiliki ekosistem alat yang besar, Hadoop adalah opsi hemat biaya untuk penyimpanan dan pengelolaan big data. 

Fleksibilitas

Hadoop memungkinkan fleksibilitas dalam penyimpanan data karena data tidak memerlukan pemrosesan sebelumnya sebelum menyimpannya, yang berarti organisasi dapat menyimpan data sebanyak yang mereka inginkan dan kemudian menggunakannya nanti.

Ketahanan

Sebagai model komputasi terdistribusi, Hadoop memungkinkan fault-tolerant dan ketahanan sistem. Artinya, jika salah satu node hardware gagal, tugas akan dialihkan ke node lain. Data yang tersimpan di satu cluster Hadoop direplikasi ke berbagai node lain dalam sistem untuk melindungi dari kemungkinan kegagalan hardware atau software.

Apa saja tantangan Hadoop?

Kompleksitas dan batasan MapReduce

Sebagai sistem yang menggunakan banyak file, MapReduce bisa menjadi alat yang sulit digunakan untuk tugas yang kompleks, seperti tugas analisis interaktif. Fungsi MapReduce juga perlu ditulis dalam Java dan dapat memerlukan kurva pembelajaran yang curam. Ekosistem MapReduce cukup besar, dengan banyak komponen untuk berbagai fungsi yang dapat menyulitkan untuk menentukan alat apa yang akan digunakan.

Keamanan

Sensitivitas dan perlindungan data dapat menjadi masalah karena Hadoop menangani set data yang besar. Ekosistem alat untuk autentikasi, enkripsi, pengauditan, dan penyediaan telah hadir untuk membantu developer mengamankan data di Hadoop. 

Tata Kelola dan pengelolaan

Hadoop tidak memiliki banyak alat yang andal untuk pengelolaan dan tata kelola data, maupun untuk kualitas dan standardisasi data. 

Kekurangan keterampilan:

Seperti banyak bidang pemrograman, Hadoop memiliki kesenjangan keterampilan yang diakui. Menemukan developer dengan gabungan keterampilan yang diperlukan dalam Java untuk memprogram MapReduce, sistem operasi, dan hardware bisa jadi sulit. Selain itu, MapReduce memiliki kurva belajar yang curam, sehingga sulit untuk mendapatkan informasi terbaru mengenai praktik terbaik dan ekosistemnya kepada programmer baru.

Mengapa Hadoop penting?

Perusahaan riset IDC memperkirakan bahwa 62,4 zettabyte data dibuat atau direplikasi pada tahun 2020, yang didorong oleh Internet of Things, media sosial, edge computing, dan data yang dibuat di cloud. Perusahaan memperkirakan bahwa pertumbuhan data dari 2020 hingga 2025 diperkirakan sebesar 23% per tahun. Meskipun tidak semua data tersebut disimpan (baik akan dihapus setelah digunakan atau ditimpa), kebutuhan data dunia terus berkembang. 

Alat Hadoop

Hadoop memiliki ekosistem alat open source yang besar yang dapat meningkatkan dan memperluas kemampuan modul inti. Beberapa alat software utama yang digunakan dengan Hadoop meliputi:

Apache Hive: Data warehouse yang memungkinkan programmer menangani data dalam HDFS menggunakan bahasa kueri yang disebut HiveQL, yang mirip dengan SQL

Apache HBase: Database terdistribusi non-relasional open source yang sering dipasangkan dengan Hadoop

Apache Pig: Alat yang digunakan sebagai lapisan abstraksi pada MapReduce untuk menganalisis kumpulan data yang besar dan memungkinkan fungsi seperti filter, pengurutan, pemuatan, dan gabungan

Apache Impala: Open source, mesin kueri SQL pemrosesan paralel secara masif yang sering digunakan dengan Hadoop

Apache Sqoop: Aplikasi antarmuka command line untuk mentransfer data massal secara efisien antara database relasional dan Hadoop

Apache ZooKeeper: Server open source yang memungkinkan koordinasi terdistribusi yang andal di Hadoop; layanan untuk, "mengelola informasi konfigurasi, penamaan, menyediakan sinkronisasi terdistribusi, dan menyediakan layanan grup"

Apache Oozie: Penjadwal alur kerja untuk tugas Hadoop

Apa kegunaan Apache Hadoop?

Berikut beberapa kasus penggunaan umum untuk Apache Hadoop: 

Analisis dan big data

Berbagai perusahaan dan organisasi menggunakan Hadoop untuk riset, pemrosesan data produksi, dan analisis yang memerlukan pemrosesan big data berukuran terabyte atau petabyte, penyimpanan beragam set data, dan pemrosesan paralel data.

Penyimpanan dan pengarsipan data

Hadoop memungkinkan penyimpanan massal pada hardware komoditas sebagai opsi penyimpanan berbiaya rendah untuk semua jenis data, seperti transaksi, aliran klik, atau sensor dan data mesin.

Data lake

Karena Hadoop dapat membantu menyimpan data tanpa pra-pemrosesan, Hadoop dapat digunakan untuk melengkapi data lake, tempat menyimpan data mentah dalam jumlah besar.

Analisis pemasaran

Departemen pemasaran sering menggunakan Hadoop untuk menyimpan dan menganalisis data pengelolaan hubungan pelanggan (CRM).

Pengelolaan risiko

Bank, perusahaan asuransi, dan perusahaan jasa keuangan lainnya menggunakan Hadoop untuk membangun model pengelolaan dan analisis risiko. 

AI dan machine learning

Ekosistem Hadoop membantu pemrosesan data dan operasi pelatihan model untuk aplikasi machine learning.

Langkah selanjutnya

Mulailah membangun solusi di Google Cloud dengan kredit gratis senilai $300 dan lebih dari 20 produk yang selalu gratis.

Google Cloud
  • ‪English‬
  • ‪Deutsch‬
  • ‪Español‬
  • ‪Español (Latinoamérica)‬
  • ‪Français‬
  • ‪Indonesia‬
  • ‪Italiano‬
  • ‪Português (Brasil)‬
  • ‪简体中文‬
  • ‪繁體中文‬
  • ‪日本語‬
  • ‪한국어‬
Konsol
Google Cloud