2. Topik
2
• Serial vs Paralel
• Masalah Pemrosesan Paralel
• MapReduce
• Daemon MapReduce
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
4. 1. Serial vs Paralel
4
• Dari pembahasan sebelumnya kita telah memahami dua hal penting dari Big Data yaitu:
• Latar belakang
• Permasalahan yang bisa diselesaikan.
• Latar belakang:
• Jumlah data yang sangat banyak, yang dihasilkan secara eksponensial.
• Banyaknya informasi dan/atau pengetahuan berharga yang bisa diekstrak dari data-data tersebut, yang
menyebabkan data sangat sayang untuk dibuang.
• Permasalahan:
• Bagaimana menyimpannya? à Platform Big Data (Hadoop, HDFS)
• Bagaimana memprosesnya?
• Pada sistem konvensional à data disimpan secara terpusat à pemrosesan data dilakukan secara serial.
• Pada sistem big data à Data disimpan secara terdistribusi à pemrosesan data dilakukan secara paralel.
• Namun tunggu dulu: Apa bedanya simpan dan proses?
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
5. 1. Serial vs Paralel
Sistem Konvensional
5
• Bila data disimpan pada satu mesin à Langsung diolah di mesin tersebut.
• Bila data disimpan pada mesin-mesin lain yang terhubung dalam suatu jaringan (contohnya NAS)?
• Bisa jadi datanya disalin dulu pada satu mesin, atau;
• Data di-streaming
• Dan diolah secara terpusat pada satu mesin.
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
6. Data Node-3
Data Node-2
1. Serial vs Paralel
Sistem Big Data
6
• Data dipecah (split) dan disimpan secara terdistribusi pada mesin lain sebagai data node.
• Data diolah secara bersama-sama di setiap data node dan hasilnya akan disatukan.
• Algoritma pemrosesan ini disebut sebagai MapReduce.
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
Data Node-1 Name Node
8. 2. Masalah Pemrosesan Serial
8
• Melakukan pemrosesan terhadap file yang besar akan membutuhkan waktu yang lama apabila
dilakukan secara serial.
• MapReduce adalah algoritma yang dirancang untuk melakukan pemrosesan file secara parallel.
• File yang besar tersebut dipecah menjadi bagian-bagian yang lebih kecil dan diproses secara
bersamaan.
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
9. 2. Masalah Pemrosesan Serial
Skenario Dunia Nyata
9
• Permasalahan umum dimana penggunaan teknologi Big Data salahsatunya adalah operasi agregasi yang
melibatkan data yang sangat banyak.
• Misalkan terdapat PT atau Group retail yang beroperasi diseluruh negeri, dan ingin mendapatkan nilai
total penjualan per wilayah dari seluruh log transaksi yang ada.
• Data yang ada akan sangat (sangat) banyak.
• Apabila diolah secara serial, tinggal dijumlah saja dari awal hingga akhir à akan membutuhkan banyak waktu.
• Begini ceritanya bila tidak menggunakan MapReduce…
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
10. 2. Masalah Pemrosesan Serial
Skenario Dunia Nyata
10
• Apabila data lognya seperti di atas (tanggal, nama toko, total pendapatan), maka:
• Data akan dihitung dari atas, kebawah. Nama kota didapatkan dari parsing nama toko
• Pecah berdasarkan spasi, dan ambil kata pertama.
• Simpan total pada setiap toko..
• Update total apabila dijumpai nama toko yang sama. Ulangi sampai semua baris terproses.
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
11. 2. Masalah Pemrosesan Serial
Skenario Dunia Nyata – Masalahnya…
11
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
• Memang seberapa lama sih??
• Taruhlah:
• Jumlah barisnya ada 10.000.000;
• Per detiknya, komputer server mampu memproses 1000 baris.
• Maka untuk operasi tersebut dibutuhkan:
• (1/1000 * 10000000) / 60 / 60 = 2,7 jam.
• Dan ingat, itu hanya sekedar operasi agregasi sederhana saja yang berupa penjumlahan!
• Belum lagi jika bicara masalah memori:
• Komputer server akan kehabisan memori sebelum semua baris selesai diolah.
• Kok bisa?
• Karena konsep Hashtable.
12. 2. Masalah Pemrosesan Serial
Skenario Dunia Nyata – Hashtable
12
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
• Hashtable à Struktur data berupa array yang setiap elemennya terdiri dari key & value.
• Pada kasus sebelumnya, nama kota kita jadikan sebagai key, dan nilai penjualan sebagai valuenya.
• Hashtablenya akan menjadi seperti berikut:
• Untuk bisa menghitung jumlah dari data-data tadi Anda harus:
• Membaca data dari file à di harddisk/storage.
• Dan mengubahnya menjadi hashtable atau array asosiatif dalam bentuk variable di program Anda à RAM.
• Taruhlah:
• Total RAM yang dibutuhkan untuk 1 barisnya sekitar 1KB saja..
• Maka untuk mengolah keseluruhan data tersebut akan dibutuhkan:
• 1000 x 10.000.000 = 10 Milyar Byte = 10 GB RAM!
Key Value
“London” 25.99
“Miami” 12.15
“NYC” 3.0
“Miami” 50.00
14. • Pada proses perhitungan serial tadi, jika kita ibaratkan computer servernya sebagai orang, maka:
• Pekerjaan tersebut seperti mempekerjakan 1 orang kasir untuk merekap seluruh penjualan pada hari ini.
• Akan lama, dan kasirnya bisa stress à pekerjaan tidak selesai.
3. MapReduce
14
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
😰
15. • Dengan MapReduce, pekerjaan dikerjakan secara beramai-ramai bersama “pegawai” lainnya.
• Seperti gotong royong. Berat sama dipikul, ringan sama dijinjing..
• Pegawai-pegawai tersebut akan dibagi menjadi 2 kelompok: Mappers dan Reducers.
3. MapReduce
Ilustrasi
15
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
Mappers
Reducers
16. • Pada mulanya semua Mappers akan membaca baris-baris yang ada. Baris-baris tersebut disebar secara acak ke mapper-
mapper yang ada.
• Semua mappers bisa kebagian baris yang mana saja. Baris yang sudah dibaca oleh 1 mapper tidak dibaca mapper lain.
• Tiap mapper akan memproses baris-baris yang merka dapatkan secara bersamaan dan dan menuliskan kota yang mana
jumnlah penjualannya berapa pada satu kartu.
• Di tempat mereka masing-masing, tanpa mempedulikan apa yang dikerjakan mapper lainnya..
3. MapReduce
Ilustrasi
16
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
NYC
4.10
Miami
21.99
Mappers
Reducers
17. • Kemudian setiap mapper akan terus bekerja sampai dengan semua baris diubah menjadi kartu.
• Kartu-kartu tersebut dimasukkan ke dalam kotak kardus yang sudah ditandai dengan satu nama kota
sehingga kartu yang kotanya sama akan dimasukkan ke dalam kardus yang sama.
• Pada kardus selalu diupdate jumlah total setiap kali ada kartu baru yang masuk.
3. MapReduce
Ilustrasi
17
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
Mappers
Reducers
Miami
31.59
NYC
10.14
LA
NYC NYC
LA Miami
18. • Setelah semua mappers selesai memasukkan semua kartu kedalam kardus, maka berikutnya adalah tugas dari
reducers.
• Reducer ini bertindak seperti semacam pengepul. Setiap reducer memiliki tugas untuk mengumpulkan kardus-kardus
bertandakan kota tertentu.
• Satu kota satu reducer.
• Satu reducer bisa banyak kota.
3. MapReduce
Ilustrasi
18
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
Mappers
Reducers
Miami
31.59
NYC
10.14
LA
NYC NYC
LA Miami
Gua
NYC
Gua Miami
sama LA
19. • Setiap Reducer kemudian mendatangi mapper-mapper yang memiliki kardus dengan nama kota yang sesuai dengan
tugasnya.
• Reducer yang tugasnya NYC akan mengambil kardus NYC saja.
• Reducer yang tugasnya Miami dan LA akan mengambil kadus Miami dan kardus LA saja.
• Setelah semua kardus terkumpul, Reducer tinggal menjumlahkan saja angka yang sudah dituliskan pada masing-
masing kardus oleh para mappers sebelumnya. Penjumlahan dilakukan urut berdasarkan abjad nama kotanya.
3. MapReduce
Ilustrasi – Hasil Akhir
19
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
Mappers
Reducers
Miami
31.59
NYC
10.14
LA
NYC
NYC
LA
Miami
Gua
NYC
Gua Miami
sama LA
NYC = $300.578
Miami = $533.425
LA = $78.320
20. • Misalkan key atau kardus-kardus yang dari mappers terdiri dari: Apel, Pisang, Wortel dan Anggur
• Jika reducer-nya lebih dari satu, kardus mana dulu yang sampai pertama kali ke reducer?
• (A) Apel, Pisang
• (B) Aple, Wortel
• (C) Wortel, Anggur
• (D) Apel, Anggur
• (E) Tidak bisa diketahui, pokoknya masing-masing reducer dapat dua.
• (F) Tidak bisa diketahui
3. MapReduce
Mulitple Reducer
20
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
Mappers
Reducers
Pisang
31.59
Apel
10.14
Wortel
Apel Apel
Anggur Pisang
?? ??
21. • Misalkan key atau kardus-kardus yang dari mappers terdiri dari: Apel, Pisang, Wortel dan Anggur
• Jika reducer-nya lebih dari satu, kardus mana dulu yang sampai pertama kali ke reducer?
• (A) Apel, Pisang
• (B) Aple, Wortel
• (C) Wortel, Anggur
• (D) Apel, Anggur
• (E) Tidak bisa diketahui, pokoknya masing-masing reducer dapat dua.
• (F) Tidak bisa diketahui
3. MapReduce
Mulitple Reducer
21
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
Mappers
Reducers
Pisang
31.59
Apel
10.14
Wortel
Apel Apel
Anggur Pisang
?? ??
22. 3. MapReduce
Rangkuman
22
• Mappers adalah program-program kecil yang
bertugas mengolah pecahan data yang relatif sedikit
secara paralel.
• Hasilnya disebut intermediate records.
• Yang bentuknya berupa key-value.
• Hadoop mengolah hampir semua data dengan konsep
key-value.
• Pada kasus ini, key-nya nama kota dan value-nya
adalah jumlah pendapatan di kota tersebut.
• Setelah selesai, fase berikutnya adalah tugas dari
reducer yang disebut dengan shuffle & sort.
• Shuffle à Reducer mengambil intermediate result
dari masing-masing mappers sesuai dengan tugasnya.
• Sort à Reducer mengurutkan dan menjumlahkan
intermediate result berdasrkan nama kotanya.
• Hasil dari fase ini adalah nilai akhir yang berupa key-
value pair juga dimana:
• Key à Nama kota
• Value à Jumlah total pendapatan dari kota yang sama.
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
24. 4. Daemon MapReduce
24
• Daemon à Aplikasi yang berjalan di-
background secara autonomous.
• Tidak punya tampilan.
• Seperti service kalua di Windows.
• Pada Hadoop, terdapat bermacam
daemon berupa kode-kode program
yang berjalan sepanjang waktu pada
setiap mesin dalam cluster. Dua
diantaranya yang sudah kita kenal:
• Daemon Name Node
• Daemon Data Node
• Jenis daemon lain adalah daemon
penting saat kita men-submit job
MapReduce:
• Job Tracker
• Task Tracker
• MapReduce Job à Pemrosesan
dengan MapReduce, seperti yang
dicontohkan sebelumnya.
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
25. 4. Daemon MapReduce
Job Tracker
25
• Ketika kita menjalankan MapReduce:
• Akan mengirimkan suatu job yang
namanya Job Tracker.
• Dalam bentuk program.
• Yang akan dijalankan sebagai
daemon.
• Job ~> Keseluruhan pekerjaan.
• Job Tracker-lah yang akan membagi
pekerjaan menjadi mappers dan
reducers.
• Yang akan berjalan pada node-node
yang lain pada cluster.
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
26. 4. Daemon MapReduce
Task Tracker
26
• Yang mengatur eksekusi
pekerjaan sesungguhnya
dari mappers dan
reducers, adalah daemon
lain yang bernama Task
Tracker.
• Task Tracker akan
berjalan di setiap mesin
yang menjadi data node,
yang ikut andil dalam job
saat ini.
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
27. 4. Daemon MapReduce
Task Tracker
27
• Karena setiap Task Tracker berada pada
mesin yang sama di tempat di mana data
(blok) berada:
• Hadoop framework bisa memastikan data
diolah secara parallel secara langsung di
mesin itu juga.
• Hal ini dapat menghemat sangat banyak
network traffic.
• Setiap mapper akan memproses Sebagian
porsi data tertentu yang disebut dengan
input split.
• Secara default, Hadoop akan menjadikan
blok yang ada pada mesin tersebut sebagai
input split dari mapper yang ada di sana.
• Dia akan mencoba memastikan setiap mapper
bekerja pada data pada mesin yang sama.
• Contoh: Jika block hijau adalah data yang
akan diproses, maka task tracker di mesin
yang sama yang akan dipilih untuk
memrosesnya.
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
• Tetapi hal tersebut kadang bisa saja tidak mungkin
• Karena bisa saja semua mesin yang ada blok hijaunya,
sedang busy/sibuk.
• Jika hal ini terjadi, maka Task Tracker di mesin yang
lain yang akan dipilih.
28. 4. Daemon MapReduce
Rekap
28
1. Mapers akan
memproses input
data.
2. Setelah selesai, akan
menghasilkan
intermediate data.
3. Lalu hadoop akan
melemparkannya ke
reducers.
• Shuffle & Sort
4. Reducers memroses
data tersebut dan
mendapatkan hasil
akhir.
5. Reducers menuliskan
hasil akhirnya ke
HDFS.
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
33. Latihan
• Buatlah laporan yang berisi:
• Ilustrasi contoh kasus lain selain penghitungan total penjualan tadi.
• Baca, pahami, tuliskan ulang dengan Bahasa Anda sendiri.
• Sertakan sumbernya.
• Kumpulkan di Google Classroom.
16/02/22 33
Jurusan Teknologi Informasi - Politeknik Negeri Malang