Big Data dengan Hadoop (Apache Hadoop Ecosystem) — Part #2

Farhan
3 min readMay 19, 2018

--

Pada catatan sebelumnya saya menjelaskan bagaimana konsep dasar Hadoop dan Architecture-nya yaitu Hadoop dengan HDFS dan MapReduce. Lalu dengan semakin berkembangnya teknologi, Hadoop bisa ditambah tools selain HDFS dan MapReduce, itulah kenapa pada penjelasan kali ini disebut Hadoop Ecosystem.

Hadoop Ecosystem

Seperti yang bisa kita lihat pada diagram di atas, ada banyak macam tools selain HDFS dan MapReduce yang berperan sebagai core element di Hadoop Ecosystem itu sendiri, penjelasannya adalah sebagai berikut:

  • HDFS
    Pada layer paling bawah dan core element dari Hadoop yang berfungsi sebagai tempat data-data disimpan.
  • YARN (Yet Another Resource Negotiator)
    Atau bisa disebut juga MapReduce v2 sebagai data processing framework. YARN berangkat dari satu permasalahan yaitu weakness yang ada pada MapReduce versi sebelumnya, di mana MapReduce v1 masih bisa menimbulkan bottleneck karena data processing sangat bergantung pada JobTracker yang mempunyai dua tugas yaitu resource management dan scheduling. Sedangkan pada MapReduce v2 ada bagian yang bertugas sebagai resource manager dan application master, sehingga kemungkinan terjadinya bottleneck sudah bisa diatasi karena tugas resource management sudah ada yang menangani sendiri yaitu oleh YARN dan MapReduce bisa fokus pada tugas data processing. Kira-kira seperti diagram di bawah inilah bagaimana perbedaan Hadoop 1.0 dan Hadoop 2.0:
  • HBase
    Berfungsi sebagai non-relational distributed database, yang artinya data yang disimpan dalam HBase tidak disimpan dalam bentuk tabel. Terinspirasi dari Google’s Big Table, dan seperti Hadoop yang lain ditulis dengan bahasa pemograman Java. Biasanya dalam Hadoop ecosystem peran dari HBase adalah suporting HDFS dan posisinya berada di atas HDFS. HBase sangat berguna ketika user membutuhkan akses read/write yang realtime dan random ke big data.
  • Hive
    Identik dengan data warehousing package yang posisinya berada di atas Hadoop yang berfungsi untuk data processing dan data analysis. Hive dibuat untuk user yang terbiasa menggunakan bahasa SQL daripada Java. Sehingga user yang biasa menggunakan SQL tidak perlu repot-repot belajar Java untuk melakukan akses data walaupun HiveSQL (bahasa yang digunakan dalam Hive) tidak benar-benar persis SQL tapi mirip. Hive juga menyediakan tools untuk memudahkan proses data ETL.
  • Pig
    Pig Scripting adalah platform untuk melakukan processing dan analisis dataset yang besar, dibuat oleh Yahoo pada tahun 2006. Bedanya dengan Hive adalah kalau Hive identik dengan SQL Pig menggunakan bahasa yang sangat high-level yaitu Pig Latin. Disebut high-level karena bahasanya sangat mudah dipahami dan dipelajari. Pig Latin diterjemahkan oleh compiler yang ada di dalam framework Pig supaya bisa dipahami oleh MapReduce yang biasanya diakses dengan Java. Intinya adalah Pig ini memudahkan user untuk mengakses data di HDFS dengan bahasa yang lebih mudah daripada Java.
  • Mahout
    Nama Mahout sendiri diambil dari bahasa Hindi yang artinya pelatih gajah. Berperan sebagai Machine Learning di Hadoop. Tujuan dari Mahout adalah untuk membangun environment yang bisa digunakan untuk membuat aplikasi machine learning yang scalable. Misal biasanya machine learning dibuat dari data-data yang tidak besar, jadi saat ada data yang ditambah harus mengulang modeling dan training, sedangkan apabila menggunakan Mahout bisa scalable, dengan kata lain apabila ada pertambahan data Machine Learning jadi lebih praktis, mungkin tidak perlu jauh mengulang sampai modeling atau training melainkan bisa langsung beradaptasi dengan kondisi data yang terus bertambah.
  • R Connectors
    Berfungsi untuk mengkoneksikan ke R.
  • Oozie
    Berfungsi sebagai workflow.
  • Zookeeper
    Berfungsi sebagai koordinator.
  • Flume dan Sqoop
    Berfungsi sebagai data exchange untuk structured data dan unstructured data.
  • Ambari
    Berfungsi sebagai monitoring.

Cukup sekian penjelasan tentang tools tambahan pada Hadoop Ecosystem, selanjutnya saya akan mempraktekan Hadoop dengan VirtualBox dan Cloudera QuickStart VM.

--

--

Farhan

Catatan pemahaman saya yang sedang mempelajari Big Data, dan Machine Learning. Portfolio lainnya: github.com/theinternetbae/