Sejak tahun 2008 Hadoop berkembang lebih besar tidak hanya terdiri dari HDFS dan MapReduce seperti yang telah bahas di artikel sebelumnya
Banyak framework maupun tool yang berjalan di atas Hadoop sehingga Hadoop yang lebih dikenal dengan istilah Ekosistem Hadoop (Hadoop Ecosystem)
Kali ini kita akan lebih mengenal ekosistem dari Apache Hadoop seperti Hive, Pig, Sqoop, Flume, Mahout, HBase, Spark, Oozie, Zookeeper, dan lain sebagainya
Ekosistem Hadoop terdiri dari seperti data storage, resource management, data processing, data ingestion, stream processing, machine learning, scheduler dan coordinator

Contents
Data Storage
Kita telah membahas tentang HDFS di artikel Hadoop, HDFS dan MapReduce. HDFS merupakan layer terbawah dari ekosistem Hadoop yang mampu menyimpan data secara terdistribusi
HDFS cocok digunakan untuk penyimpanan data besar yang dapat dipecah-pecah menjadi lebih kecil. Selengkapnya tentang HDFS silahkan baca kembali artikel Hadoop, HDFS dan MapReduce
Selain HDFS, terdapat storage lainnya yang merupakan database NoSQL yang dikembangkan di atas HDFS yang disebut dengan HBase
Apache HBase adalah NoSQL Database yang berorientasi pada kolom yang bentuk penyimpanan berupa Key-Value. Key terdiri atas Row Key, Column Family, Column, dan Timestamp
Resource Management
YARN (Yet Another Resource Negotiator) dikembangkan di Hadoop versi 2.x yang berfungsi untuk mengelola sumber daya di seluruh kluster
Pada Hadoop versi 1.x, MapReduce berfungsi untuk resource management dan data processing. Pada Hadoop versi 2.x, tugas resource management dihandel oleh YARN

YARN terdiri dari 3 komponen penting yaitu resource manager, nodes manager dan application manager
Data Processing
Data beberapa engine untuk pemrosesan data yang berjalan di atas HDFS seperti Hive dan Pig
Hive adalah engine pemrosesan data yang berbentuk SQL sedangkan Pig adalah engine pemrosesan data yang berbentuk scripting
Hive dikembangkan di Facebook dan merupakan high level programming di atas MapReduce. Hive digunakan untuk memproses data terstruktur dalam sistem terdistribusi. Ada 3 mekanisme manajemen data di Hive yaitu : Table, Partition dan Bucket
Sama seperti Hive, Pig juga merupakan high level programming di atas MapReduce.
Pig dikembangkan di Yahoo dan berbentuk scripting yang menggunakan Pig Latin Language. Pig merupakan pemrograman berparadigma prosedural
Data Ingestion
Data ingestion merupakan peran untuk memindahkan data dari relational database ke dalam Hadoop
Data ingestion dapat digunakan untuk batch dan stream data. proses ingestion juga dapat diotomasi perpindahan datanya
Ada 2 tool yang sering digunakan yaitu Sqoop dan Flume. Sqoop cocok digunakan untuk batch data seperti data transaksi, sistem informasi, dan lain sebagainya
Flume cocok digunakan untuk stream data seperti sensor data, log file, click stream, social media dan lain sebagainya
Stream Processing
Hadoop cocok digunakan untuk memproses data batch bukan stream data. Karena Hadoop berkembang, beberapa tool stream processing hadir untuk menutupi hal ini
Spark Streaming merupakan salah satu engine untuk pemrosesan stream data yang sangat populer
Saat ini Spark Streaming dikembangkan menjadi Spark Structured Streaming yang support untuk mengolah dataframe. Spark support beberapa bahasa seperti Scala, Java, Python dan R
Ilustrasi stream data dapat dilihat dari gambar berikut

Machine Learning
Ada beberapa engine untuk Machine learning (ML) seperti Spark MLLib dan Apache Mahout
Tool ML dapat digunakan untuk masalah clustering, classification, recommendation dan lain sebagainya
Scheduler
Scheduler adalah engine yang digunakan untuk penjadwalan job atau tugas. Beberapa tool untuk scheduling yang cukup populer yaitu Apache Airflow dan Apache Oozie
Dalam Apache Airflow, Kumpulan task yang dijalankan di Airflow disebut DAG – Directed Acyclic Graph
Operator dalam GAD digunakan untuk menentukan apa yang harus dilakukan oleh task. Operator yang sering digunakan adalah BashOperator dan PythonOperator
Coordinator
Zookeeper digunakan sebagai koordinator untuk menejemen kluster. Dengan Zookeeper koordinasi antar kluster menjadi lebih mudah untuk dimonitoring
Cukup sekian yang dapat saya share tentang ekosistem Hadoop dan tool-tool yang berjalan diatas Hadoop. Semoga suatu saat ada kesempatan untuk melakukan Hands-on ekosistem Hadoop 😀