Mengenal dan memahami ekosistem Big Data sangat berguna dalam dunia kerja. Karena Anda sebagai data engineer ada kemungkinan melakukan migrasi dari teknologi big data non-google ke Google Cloud Platform (GCP). Selain itu saat exam, ada kemungkinan Anda menghadapi pertanyaan tentang migrasi dari open-source produk ke GCP.
Kita akan bahas beberapa teknologi seperti Map Reduce, Hadoop, Apache Pig, Apache Spark dan Apache Kafka.
Map Reduce
Map Reduce adalah programming model dengan dua fungsi spesifik, Map dan Reduce dengan implementasi model terdistribusi, dimana program dijalankan secara terdistribusi dalam ratusan atau ribuan komputer.
Dikembangkan oleh Google untuk menganalisa data set yang besar. Map Reduce sendiri menyediakan framework standard yang dapat menyelesaikan berbagai masalah namun memberikan abstraksi dalam management distributed system yang kompleks, seperti Parallelizing, executing, partitioning, schedulling dan fault tolerance.
Google Map Reduce, memisahkan jobs menjadi small chunks (upto 64MB data), yang kemudian dijadwalkan dalam cluster menggunakan Master dan Worker cluster model. Jika Worker jobs failed, Master akan melakukan assignment ulang ke worker lainnya.
Untuk meningkan performa, Worker menggunakan local disk sebagai buffer. Dan hasil akhir akan ditulis ke Partitioned output files.
Secara high level, map reduce dapat dijelaskan sebagai berikut:
- Fungsi Map mengambil input dari disk sebagai key/value pairs , memprosesnya, dan menghasilkan kumpulan intermediate key/value lainnya sebagai output, yang akan digunakan sebagai input untuk fungsi Reduce.
- Fungsi Reduce akan menggabungkan intermediate value yang memiliki intermediate key yang sama. Umumnya, hasil akhir akan memiliki kumpulan value yang lebih kecil.
Untuk lebih mudahnya, lihat gambar berikut:

Google menggunakan Map Reduce untuk melakukan web page indexing pada Google Search. Berikut contoh sederhananya:

Masalah lain yang Google coba selesaikan adalah bagaimana web page memiliki internal link.

Sampai disini kita sudah mengenal apa itu Map Reduce, pada modul berikutnya kita akan membahas implementasi open source dari Map Reduce, yaitu Hadoop.