• Tidak ada hasil yang ditemukan

Buku Dan Analisis Big Data

N/A
N/A
Protected

Academic year: 2018

Membagikan "Buku Dan Analisis Big Data"

Copied!
567
0
0

Teks penuh

(1)

ANALISIS BIG DATA

(Teori & Aplikasi)

“Big Data vs Big Information vs Big Knowledge”

Oleh:

lanjut secara mendetail sebagai solusi dalam penyelesaian untuk kasus apapun dengan konsep Sistem Cerdas melalui pemanfaatan teknologi Big Data mulai dari tingkat dasar sebagai cara yang paling mudah untuk awalan dalam pemahaman, sampai pada implementasi algoritma tanpa Library apapun, misal tidak menggunakan MLlib dari Spark sama sekali atau lainnya, serta melatih dalam memodifikasi algoritma maupun penggabungan dua tools atau lebih untuk membangun ekosistem Big Data yang powerfull. Materi yang tersedia selain memudahkan bagi para pembaca, juga untuk mendukung ma-teri perkuliahan yang dapat membantu pengayaan mahasiswa yang fokus pada pengembangan Artificial Intelligence (AI) untuk Big Data, yang meliputi banyak Machine Learning yang digunakan.

Imam Cholissodin

Dosen Pengampu MK Analisis Big Data FILKOM UB

(2)

Kata Pengantar

Alhamdulillahhi robbil alamin, puji syukur kehadirat Allah SWT atas segala rahmat dan karunia-Nya dengan terselesaikannya penu-lisan buku ini dengan judul “Analisis Big Data”. Buku ini merupakan

uraian untuk memudahkan pemahaman konsep, tingkat dasar sampai lanjut dalam sistem cerdas dan penerapannya melalui pemanfaatan teknologi Big Data, dengan mengedepankan keterampilan dalam pembuatan dan hasil implementasi dengan berbagai kombinasi algoritma berbasis sistem cerdas maupun dengan perpaduan berbagai macam tools untuk membangun ekosistem analisis Big Data yang

powerfull. Konsep sederhana Analisis Big Data mencakup Volume, Ve-locity, dan Variety (3V), dan pengembangannya ada yang menyebut (7V) termasuk Volume, Velocity, Variety, Variability, Veracity, Value dan Visualization, atau 10V bahkan lebih dari itu, tetapi sebaiknya tidak membatasi pemahaman Big Data ini hanya dengan sedikit banyaknya istilah dari huruf V yang digunakan . Kemudian dengan adanya ekosistem tersebut, jika dibutuhkan analisis sederhana maupun yang lebih kompleks, maka harapannya tidak akan ada kendala dari besarnya data yang diolah. Adanya kemajuan teknologi dalam hal penyimpanan, pengolahan, dan analisis Big Data meliputi (a) penurunan secara cepat terhadap biaya penyimpanan data dalam be-berapa tahun terakhir; (b) fleksibilitas dan efektivitas biaya pada pusat data dan komputasi awan untuk perhitungan dengan konsep elastisitas dan penyimpanannya; serta (c) pengembangan kerangka kerja baru seperti Hadoop ecosystem (salah satu peluang bisnis yang besar untuk developer untuk saat ini dan ke depannya dalam rangka membangun ekosistem analisis Big Data yang sangat powerfull sekelas Cloudera, Hortonworks, etc), yang memungkinkan pengguna untuk mengambil manfaat dari sistem komputasi terdistribusi, misal untuk menyimpan sejumlah data yang besar melalui pemrosesan parallel, dukungan da-tabase NoSQL, dan komputasi berbasis streaming. Sehingga kema-juan teknologi ini telah menciptakan beberapa perbedaan yang sangat signifikan, misal dalam hal kecepatan maupun ketepatan dari hasil yang didapatkan antara analisis tradisional dengan tools yang bukan dengan konsep Big Data versus analisis modern untuk saat ini dan masa depan dengan membangun ekosistem Big Data yang sangat

powerfull.

(3)

1. Para penulis artikel Analisis Big Data di forum, web, blog dan buku yang menjadi referensi buku ini untuk memberikan masukan yang sangat berharga sekali untuk perbaikan dan penyelesaian buku ini. 2. Mbak Efi Riyandani, yang telah banyak membantu penulisan buku,

dan mahasiswa-mahasiswa terbaik saya semester Ganjil 2016/2017, yaitu: Maryamah, Moh. Fadel Asikin, Daisy Kurniawaty, Selly Kurnia Sari, Nanda Agung Putra, Ardisa Tamara Putri, Dhimas Anjar Prabowo, Listiya Surtiningsih, Raissa Arniantya, Brillian Aristyo Rahadian, Diva Kurnianingtyas, Dyan Putri Mahardika, Tusty Nadia Maghfira.

3. Mahasiswa-mahasiswa terbaik saya semester Ganjil 2017/2018, yaitu: Yessica Inggir F., Kholifaul K., Ni Made Gita D. P., Ema Agasta, Retiana Fadma P. Sinaga, Fachrul Rozy Saputra Rangkuti, Yunita Dwi Alfiyanti, Dyah Ayu Wahyuning Dewi, Annisaa Amalia Safitri, Sarah Aditya Darmawan, Danastri Ramya Mehaninda, Eka Novita Shandra, Fakharuddin Farid Irfani, Rio Cahyo Anggono, Robih Dini, Yulia Kurniawati, Novirra Dwi Asri, Muhammad Vidi My-charoka, Vania Nuraini Latifah, Olivia Bonita, Eka Miyahil Uyun, Cusen Mosabeth, Evilia Nur Harsanti, Ivarianti Sihaloho.

Semoga kontribusi kalian menjadi ilmu yang barokah dan ber-manfaat. Aamiin. :). Tidak ada gading yang tak retak. Maka penulis memohon kritik dan saran untuk perbaikan dan penyempurnaan buku ini. In Syaa Allah pada edisi berikutnya, kami akan memberikan manualisasi Map Reduce, Spark, etc. dari setiap algoritma pada setiap contoh kasusnya. Selamat membaca buku ini dan semoga bermanfaat.

Malang, 19 Juli 2016-24 Mei 2018

(4)

Daftar Isi

Judul ... i

Kata Pengantar ... ii

Daftar Isi ... iv

Daftar Tabel ... viii

Daftar Gambar ... ix

Daftar Source Code ... xxvi

BAB 1 Konsep Big Data ... 1

1.1 Pengantar ... 1

1.2 Gambaran Umum Big Data ... 3

1.3 Karakteristik Big Data (3V) ... 5

1.4 Ekosistem Big Data Analytics ... 7

1.5 Ekosistem Tool Big Data Analytics ... 9

1.6 Tugas Kelompok ... 13

BAB 2 Analitik Big Data & Lifecycle ... 14

2.1 Pengantar ... 14

2.2 Teknologi Advaced (Tools) Big Data ... 14

2.3 Arsitektur Big Data ... 16

2.4 Key Roles Kunci Sukses Proyek Analitik ... 20

2.5 Lifecycle Analitik Data ... 22

2.6 Tugas Kelompok ... 24

BAB 3 Teknologi dan Tools Big Data (Bagian 1) ... 26

3.1 Konsep Pengolahan Big Data ... 26

3.2 Introduction to Hadoop ... 27

3.2.1 Hadoop Distributed File System (HDFS) ... 28

3.2.2 MapReduce (MR) ... 30

3.3 Konfigurasi Hadoop Single Node Cluster di Linux ... 34

3.3.1 Studi Kasus & Solusi Hadoop ... 35

3.3.2 Konfigurasi dengan Eclipse IDE ... 53

(5)

3.3.4 Konfigurasi dengan Spark ... 93

3.3.5 Konfigurasi dengan Mahout ... 132

3.4 Konfigurasi Hadoop Single Node Cluster di Windows . 140 3.4.1 Konfigurasi dengan Syncfusion ... 154

3.4.2 Konfigurasi dengan Eclipse IDE ... 161

3.4.3 Konfigurasi dengan Spark ... 170

3.5 Tugas Kelompok ... 173

BAB 4 Teknologi dan Tools Big Data (Bagian 2) ... 175

4.1 Konsep Single (Standalone) Vs Multi-Node Cluster .... 175

4.2 Hadoop Multi Node Cluster (Pseudo-Distributed) ... 176

4.3 Hadoop Multi Node Cluster (Full Distributed) ... 204

4.4 Studi Kasus (Sederhana) ... 217

4.5 Studi Kasus (Run Kode Program)... 225

4.5.1 Klasifikasi: NB dengan Terminal ... 225

4.5.2 Klasifikasi: NB dengan Eclipse ... 230

4.5.3 Clustering: K-Means ... 237

4.6 Tugas Kelompok ... 242

BAB 5 Analitik Data Tingkat Lanjut (Clustering) ... 244

5.1 Konsep Clustering ... 244

5.2 K-Means vs Kernel K-means ... 245

5.3 Studi Kasus ... 188

5.4 Tugas Kelompok ... 195

BAB 6 Analitik Data Tingkat Lanjut (Regresi) ... 197

6.1 Konsep Regresi ... 197

6.2 Analisis Teknikal dan Fundamental ... 198

6.3 Regresi Linear & Regresi Logistic ... 199

6.4 Extreme Learning Machine (ELM) ... 200

6.5 Tugas Kelompok ... 207

BAB 7 Analitik Data Tingkat Lanjut (Klasifikasi) ... 208

7.1 Konsep Klasifikasi ... 208

(6)

7.3 Algoritma Klasifikasi ... 210

7.3.1 ELM Untuk Regresi Vs Untuk Klasifikasi ... 210

7.3.2 Support Vector Machine (SVM) Linear dan Non-Linear 211 7.4 Tugas Kelompok ... 221

BAB 8 Teknologi dan Tools Big Data (Bagian 3) ... 223

8.1 Editor + GUI untuk Spark Java/ Spark Scala/ PySpark223 8.1.1 Install Sublime Text ... 224

8.1.2 Eclipse + Spark Standalone (Java EE) ... 224

8.1.3 Eclipse + Spark + Scala IDE + Maven ... 225

8.1.4 Eclipse + Spark + Scala IDE + SBT ... 243

8.1.5 Eclipse + PySpark + PyDev ... 254

8.1.6 PySpark + Pycharm ... 318

8.1.7 IntelliJ IDEA + SBT ... 340

8.1.8 Konfigurasi & Solusi Error/Bug ... 361

8.2 Konfigurasi Tambahan ... 364

8.2.1 Create VM dari file *.vdi dan UUID Baru ... 364

8.2.2 Share Folder Pada Linux Pada VirtualBox ... 367

8.3 Konfigurasi Hadoop + MongoDB ... 373

8.3.1 WordCount ... 386

8.3.2 Movie Ratings ... 399

8.4 Tugas Kelompok ... 412

BAB 9 Project Pilihan Analisis Big Data ... 413

9.1 Seleksi Asisten Praktikum ... 413

9.1.1 Dasar Teori ... 414

9.1.2 Impelementasi ... 417

9.2 Klasifikasi Kendaraan Bermotor ... 423

9.2.1 Dasar Teori ... 424

9.2.2 Implementasi ... 427

9.3 Clustering Judul Majalah ... 432

9.3.1 Dasar Teori ... 434

(7)

9.4 Collaborative Filtering ... 440

9.4.1 Dasar Teori ... 440

9.4.2 Implementasi ... 443

9.5 Klasifikasi Data Kualitatif (C4.5) ... 446

9.5.1 Dasar Teori ... 447

9.5.2 Implementasi ... 452

9.6 Clustering Tingkat Pengetahuan ... 456

9.6.1 Dasar Teori ... 457

9.6.2 Implementasi ... 460

9.7 Klasifikasi Kanker Payudara (SVM) ... 462

9.7.1 Dasar Teori ... 464

9.7.2 Implementasi ... 467

Daftar Pustaka ... 470

(8)

Daftar Tabel

Tabel 5.1 Contoh Data 2 Dimensi ... 188

Tabel 5.2

x

i ... 190

Tabel 5.3

(

x

i

)

... 190

Tabel 5.4 Fungsi Pemetaan Cluster 1 ... 190

Tabel 5.5 Fungsi Pemetaan Cluster 2 ... 191

Tabel 5.6 Nilai Kernel data i terhadap semua data cluster 1 iterasi 1 ... 192

Tabel 5.7 Nilai Kernel Antar Data Pada Cluster j untuk iterasi 1... 193

Tabel 5.8 Jarak dan alokasi data untuk centroid terdekat iterasi 1 .. 194

Tabel 6.1 Dataset ... 199

Tabel 6.2 Data Training ... 202

Tabel 7.1 Data Training dan Data Testing ... 214

Tabel 7.2 𝛼

Tabel 7.8 Hasil Perhitungan xtest 1 ... 218

Tabel 7.9 Contoh 3 SVM Biner dengan Metode One-Against-All .... 218

Tabel 7.10 Metode One-Against-One dengan 4 Kelas ... 219

Tabel 7.11 Metode BDTSVM dengan 7 Kelas ... 220

Tabel 8.1 Perbedaan SQL dengan MongoDB... 376

(9)

Daftar Gambar

Gambar 1.1 Perkembangan data ... 1

Gambar 1.2 Data Science vs Business Intelligence ... 2

Gambar 1.3 Gambaran Umum Big Data ... 3

Gambar 1.4 Big Data dengan 6V+ 1V(Visualization)=7V ... 4

Gambar 1.5 Big Data dengan 10V ... 4

Gambar 1.6 Tradisional vs Big Data ... 5

Gambar 1.7 Bentuk Infrastruktur Data Center ... 6

Gambar 1.8 Google Cloud Platform ... 6

Gambar 1.9 Analyze small subsets of data ... 6

Gambar 1.10 Analyze all data ... 6

Gambar 1.11 Batch dan stream processing ... 37

Gambar 1.12 Traditional Approach ... 6

Gambar 1.13 Big Data Approach ... 6

Gambar 1.14 Variety Data ... 6

Gambar 1.15 Rangkuman 3V dan Veracity ... 6

Gambar 1.16 Gambaran Ekosistem Big Data ... 7

Gambar 1.17 Perkembangan Analytics ... 7

Gambar 1.18 Contoh Ekosistem Hadoop ke-1... 10

Gambar 1.19 Contoh Ekosistem Hadoop ke-2... 11

Gambar 1.20 Cloudera vs Hortonworks vs MapR ... 13

Gambar 2.1 Daftar Perusahaan ... 14

Gambar 2.2 Faktor yang mendorong (driving) adopsi Big Data ... 15

Gambar 2.3 Arsitektur Big Data ... 17

Gambar 2.4 Data Integration Using Apache NiFi dan Apache Kafka 19 Gambar 2.5 Integrating Apache Spark dan NiFi for Data Lakes ... 19

Gambar 2.6 Key Roles Kunci Sukses Proyek Analitik ... 20

Gambar 2.7 Gambaran Umum dari Lifecycle Analitik Data ... 22

Gambar 3.1 Distributed System (a) dan Paralel System (b) ... 26

(10)

Gambar 3.3 Arsitektur HDFS... 30

Gambar 3.4 Hadoop 2.x Core Components ... 30

Gambar 3.5 High Level Arsitektur Hadoop dan The Job Tracker ... 31

Gambar 3.6 The Job Tracker ... 32

Gambar 3.7 Diagram Cara Kerja Map Reduce ... 33

Gambar 3.8 Ilustrasi MR vs YARN ... 33

Gambar 3.9 Persiapan Pada Virtual Box ... 34

Gambar 3.10 Studi Kasus Wordcount ... 35

Gambar 3.11 Hasil: hduser@Master:/usr/local/hadoop$ jar cf wc.jar WordCount*.class ... 41

Gambar 3.12 Hasil: hduser@Master:/usr/local/hadoop$ jar cf wc.jar WordCount*.class ... 41

Gambar 3.13 Hasil: hduser@Master:/usr/local/hadoop$ jar cf wc.jar WordCount*.class ... 42

Gambar 3.14 Hasil Menjalankan JAR untuk wordcount (file a.txt saja): .. 46

Gambar 3.15 Hasil menjalankan JAR untuk wordcount (file b.txt saja): .... 49

Gambar 3.16 Menjalankan JAR untuk wordcount untuk semua file dalam satu folder (file a.txt dan b.txts) ... 50

Gambar 3.17 Menjalankan JAR untuk wordcount untuk semua file dalam satu folder (file a.txt dan b.txts) Cont. ... 51

Gambar 3.18 Cara menghapus folder HDFS ... 51

Gambar 3.19 Cara menghapus folder HDFS Cont ... 52

Gambar 3.20 Link download Eclipse ... 53

Gambar 3.21 Extract Here - Eclipse ... 53

Gambar 3.22 Copy file, dan cek dengan “ls” ... 54

Gambar 3.23 Install eclipse ... 54

Gambar 3.24 Pilih Eclipse IDE for Java EE Developers ... 54

Gambar 3.25 Klik Install, tunggu beberapa waktu ... 55

Gambar 3.26 Klik Launch ... 55

Gambar 3.27 Klik “Launch”, tunggu beberapa saat ... 56

Gambar 3.28 Klik “restore” ... 56

Gambar 3.29 Masuk ke folder instalasi hadoop ... 57

(11)

Gambar 3.31 Klik Finish ... 58

Gambar 3.32 Klik Open Pers.. ... 59

Gambar 3.33 Project “HadoopIDE” ... 59

Gambar 3.34 Klik kanan “src”, tambahkan new “Package” ... 59

Gambar 3.35 Berikan name “org.hadoop.trainings”, klik “Finish” ... 60

Gambar 3.36 Klik kanan pada “org.hadoop.trainings”, klik new “Class” ... 60

Gambar 3.37 Berikan nama “WordCount”, klik “Finish” ... 60

Gambar 3.38 klik “Configure Build Path..” ... 61

Gambar 3.39 klik “Configure Build Path..” ... 61

Gambar 3.40 Masuk ke folder instalasi hadoop ... 62

Gambar 3.41 Add *.jar hadoop part 1 ... 62

Gambar 3.42 Add *.jar hadoop part 2 ... 63

Gambar 3.43 Add *.jar hadoop part 3 ... 63

Gambar 3.44 Add *.jar hadoop part 4 ... 64

Gambar 3.45 Add *.jar hadoop part 5 ... 64

Gambar 3.46 Add *.jar hadoop part 6 ... 65

Gambar 3.47 Add *.jar hadoop part 7 ... 65

Gambar 3.48 Add *.jar hadoop part 8 ... 66

Gambar 3.49 Add *.jar hadoop part 9 ... 66

Gambar 3.50 Daftar “Referenced Libraries” Hadoop ... 67

Gambar 3.51 Download code WordCount dari “https://goo.gl/wPa2ef” ... 67

Gambar 3.52 Sebelum dan setelah dicopykan ... 68

Gambar 3.53 About Hue ... 69

Gambar 3.54 Cara kerja Hue Server ... 69

Gambar 3.55 JVM Process Status Tool (jps) ... 70

Gambar 3.56 Cek Hadoop Version ... 70

Gambar 3.57 sudo apt-get install git ... 71

Gambar 3.58 Lakukan git clone ... 71

Gambar 3.59 Download Hue Selesai ... 72

(12)

Gambar 3.61 Install library development packages dan tools, selesai

... 73

Gambar 3.62 Masuk ke hduser ... 73

Gambar 3.63 Error ketika make apps Hue ke-1 ... 74

Gambar 3.64 Update beberapa komponen ... 74

Gambar 3.65 Error ketika make apps Hue ke-2 ... 75

Gambar 3.66 Install Hue, selesai. :D ... 76

Gambar 3.67 Jalankan Server Hue ... 76

Gambar 3.68 Starting pada http://127.0.0.1:8000 ... 77

Gambar 3.69 Set Username dan Password ... 77

Gambar 3.70 Tampilan Hue ke-1 ... 78

Gambar 3.71 Tampilan Hue ke-2 ... 78

Gambar 3.72 Load HDFS dari Hue ... 79

Gambar 3.73 Solusi ke-1 Error pada Hue ... 79

Gambar 3.74 Solusi ke-2 Error pada Hue ... 80

Gambar 3.75 Setting file “hdfs-site.xml” ... 81

Gambar 3.76 Setting file “core-site.xml” ... 82

Gambar 3.77 Edit file “hue.ini” Part 1 of 7 ... 83

Gambar 3.78 Edit file “hue.ini” Part 2 of 7 ... 84

Gambar 3.79 Edit file “hue.ini” Part 3 of 7 ... 85

Gambar 3.80 Edit file “hue.ini” Part 4 of 7 ... 86

Gambar 3.81 Edit file “hue.ini” Part 5 of 7 ... 86

Gambar 3.82 Edit file “hue.ini” Part 6 of 7 ... 87

Gambar 3.83 Edit file “hue.ini” Part 7 of 7 ... 87

Gambar 3.84 Jalankan lagi Hadoop ... 88

Gambar 3.85 Jalankan lagi Hue ... 89

Gambar 3.86 Buka Hue di Web Browser ... 89

Gambar 3.87 Buka Hue di Web Browser 1 ... 90

Gambar 3.88 Buka Hue di Web Browser 2 ... 91

Gambar 3.89 Buka Hue di Web Browser 3 ... 92

Gambar 3.90 Buka Hue di Web Browser 4 ... 92

(13)

Gambar 3.92 Spark dan Tool lainnya ... 93

Gambar 3.93 Spark dan Bahasa Pemrograman ... 94

Gambar 3.94 Cek versi Linux ... 94

Gambar 3.95 Cek Hadoop Version dan Run Hadoop ... 95

Gambar 3.96 Download Spark ... 95

Gambar 3.97 Hasil download Spark ... 95

Gambar 3.98 Cek Java Version ... 96

Gambar 3.99 Tekan enter, tunggu sampai selesai ... 96

Gambar 3.100 Tekan enter, tunggu sampai selesai ... 97

Gambar 3.101 Instalasi Spark selesai :D ... 97

Gambar 3.102 - Set PATH Spark ... 98

Gambar 3.103 Install java terbaru part 1 ... 98

Gambar 3.104 Install java terbaru part 2 ... 98

Gambar 3.105 Install java terbaru part 2 ... 99

Gambar 3.106 Install java terbaru part 4 ... 99

Gambar 3.107 Install java terbaru part 4 (lanj. 1) ... 99

Gambar 3.108 Install java terbaru part 4 (lanj. 2) ... 100

Gambar 3.109 Install java terbaru Selesai ... 100

Gambar 3.110 Cek java version sudah terupdate ... 101

Gambar 3.111 Update “sudo gedit ~/.bashrc” ... 101

Gambar 3.112 Restart Hadoop ... 102

Gambar 3.113 install python-pip ... 102

Gambar 3.114 Cek python –version ... 104

Gambar 3.115 Install Anaconda ... 104

Gambar 3.116 Tekan spasi, ketik yes, tekan enter ... 105

Gambar 3.117 set folder instalasinya ... 105

Gambar 3.118 Ketik yes (untuk set PATH di /home/hduser/.bashrc) ... 106

Gambar 3.119 Install Anaconda (Done) ... 106

Gambar 3.120 Set PATH Anaconda ... 107

Gambar 3.121 Cek python –version ... 108

(14)

Gambar 3.123 Spark di web ... 109

Gambar 3.124 Koding scala sederhana pada Spark ... 110

Gambar 3.125 Demo: WordCount (ScalaSpark) ke-1 ... 110

Gambar 3.126 Demo: WordCount (ScalaSpark) ke-2 ... 111

Gambar 3.127 Demo: WordCount (ScalaSpark) ke-3 ... 111

Gambar 3.128 Demo: WordCount (ScalaSpark) ke-4 ... 112

Gambar 3.129 Demo: WordCount (ScalaSpark) ke-5 ... 112

Gambar 3.130 Demo: WordCount (ScalaSpark) ke-6 ... 113

Gambar 3.131 Demo: WordCount (ScalaSpark) ke-7 ... 113

Gambar 3.132 cek JPS ... 113

Gambar 3.133 Hadoop sudah jalan ... 114

Gambar 3.134 Tampilan hadoop di Web ... 114

Gambar 3.135 Browse the file system ... 114

Gambar 3.136 Buat folder di hadoop melalui Terminal ... 115

Gambar 3.137 Cek isi dari “/user/hduser” ... 115

Gambar 3.138 CopyFromLocal file *.txt to hdfs ... 115

Gambar 3.139 Scala: load data input dari hdfs ... 116

Gambar 3.140 Lihat di web hasil output Spark ... 117

Gambar 3.141 Tampilan di web ... 117

Gambar 3.142 PySpark sudah aktif ... 118

Gambar 3.143 Python pada Spark ... 118

Gambar 3.144 PySpark counts.collect() ... 119

Gambar 3.145 Tampilan di web (Spark) ... 119

Gambar 3.146 koding python sederhana (map) ... 120

Gambar 3.147 koding python sederhana (filter) ... 121

Gambar 3.148 koding python sederhana (reduce) ... 121

Gambar 3.149 koding python sederhana (lambda) ... 122

Gambar 3.150 koding python sederhana (lambda): Latihan ... 123

Gambar 3.151 koding python sederhana (flatmap) ... 124

Gambar 3.152 run pyspark part 1 ... 125

(15)

Gambar 3.154 run pyspark part 3 ... 126

Gambar 3.155 run pyspark part 4 ... 127

Gambar 3.156 run pyspark part 5 ... 128

Gambar 3.157 run pyspark part 6 ... 128

Gambar 3.158 run pyspark part 7 ... 129

Gambar 3.159 run pyspark part 8 ... 129

Gambar 3.160 run pyspark part 9 ... 129

Gambar 3.161 Hasil k-means clustering ... 130

Gambar 3.162 Apache Mahout ... 132

Gambar 3.163 Recommender Engines ... 132

Gambar 3.164 User-User, Item-Item, atau diantara keduanya ... 133

Gambar 3.165 Tanimoto Coefficient ... 133

Gambar 3.166 Cosine Coefficient ... 133

Gambar 3.167 JVM Process Status Tool (jps) ... 134

Gambar 3.168 Cek Hadoop Version ... 134

Gambar 3.169 Buka web Apache Mahout ... 135

Gambar 3.170 Download Mahout ... 135

Gambar 3.171 Hasil Download Mahout ... 136

Gambar 3.172 Extract Mahout ... 136

Gambar 3.173 Buat folder “mahout” ... 137

Gambar 3.174 Instalasi Mahout Selesai :D ... 137

Gambar 3.175 Cek Owner dan Nama Group “/usr/local/mahout” .... 138

Gambar 3.176 ubah Owner dan Nama Group “/usr/local/mahout” .. 138

Gambar 3.177 Update “sudo gedit ~/.bashrc” ... 139

Gambar 3.178 Restart “~/.bashrc” lalu Restart Hadoop... 139

Gambar 3.179 Persiapan Install Hadoop di Windows ke-1 ... 140

Gambar 3.180 Ekstraks file “bin-master.zip” ... 143

Gambar 3.181 Masuk ke Control Panel ... 143

Gambar 3.182 Set JAVA_HOME ... 144

Gambar 3.183 Edit file “hadoop-env.cmd” ... 144

(16)

Gambar 3.185 Hasil edit file “hdfs-site.xml” ... 146

Gambar 3.186 Buat folder namenode dan datanode ... 146

Gambar 3.187 Hasil edit file “mapred-site.xml.template” ... 147

Gambar 3.188 Pilih Advanced system settings ... 149

Gambar 3.189 Ketik HADOOP_HOME ... 149

Gambar 3.190 Pada Variable “Path” klik Edit.. ... 150

Gambar 3.191 Tambahkan bin hadoop pada Path ... 150

Gambar 3.192 Cek hadoop version di CMD ... 151

Gambar 3.193 Hasil format namenode ... 151

Gambar 3.194 Hasil start-all.cmd ... 152

Gambar 3.195 Hasil localhost:50070 ke-1 ... 153

Gambar 3.196 Hasil Hasil localhost:50070 ke-2 ... 153

Gambar 3.197 Hasil “http://localhost:8088” ... 153

Gambar 3.198 Download syncfusion ... 154

Gambar 3.199 Hasil klik “Proceed to the …” ... 155

Gambar 3.200 Klik “Download link ..” ... 155

Gambar 3.201 Install “syncfusionbigdataplatform.exe” ... 155

Gambar 3.202 Hasil klik Install ... 156

Gambar 3.203 Hasil klik Finish ... 156

Gambar 3.204 Hasil klik Launch Studio ... 157

Gambar 3.205 Klik OK ... 157

Gambar 3.206 Syncfusion Big Data Agent dan Remote Agent ... 157

Gambar 3.207 Big Data Platform (1 of 4) ... 158

Gambar 3.208 Big Data Platform (2 of 4) ... 158

Gambar 3.209 Big Data Platform (3 of 4) ... 159

Gambar 3.210 Big Data Platform (4 of 4) ... 159

Gambar 3.211 Hasil Install “syncfusionbigdatacluster.exe” ... 160

Gambar 3.212 Download Eclipse ... 161

Gambar 3.213 Klik Install ... 161

Gambar 3.214 Tunggu beberapa Waktu ... 162

(17)

Gambar 3.216 Klik Launch ... 163

Gambar 3.217 Tunggu beberapa waktu ... 163

Gambar 3.218 Eclipse siap digunakan ... 164

Gambar 3.219 Hasil “bin\hdfs dfs -mkdir /user”... 164

Gambar 3.220 Hasil “bin\hdfs dfs -mkdir /user/hduser” ... 165

Gambar 3.221 Hasil di HDFS (browser) ... 167

Gambar 3.222 Setting koding NB Hadoop ... 167

Gambar 3.223 Hasil run koding NB Hadoop ... 168

Gambar 3.224 Set bin Spark ... 172

Gambar 4.1 Running Java Process ... 175

Gambar 4.2 Setting PCMaster + (PC Node1, Node2, Node3): ... 176

Gambar 4.3 nidos@master:~$ sudo gedit /etc/hostname ... 179

Gambar 4.4 nidos@master:~$ sudo gedit /etc/hosts ... 179

Gambar 4.5 Tampilan Menu ... 180

Gambar 4.6 Tampilan Menu Edit ... 180

Gambar 4.7 Tampilan Connection Information ... 181

Gambar 4.8 Tampilan Menu ... 181

Gambar 4.9 Tampilan Edit Pada Gateway dan DNS Server ... 181

Gambar 4.10 Hasil nidos@master:~$ sudo gedit /etc/hosts ... 182

Gambar 4.11 Tampilan Edit Method Menjadi Manual ... 182

Gambar 4.12 Hasil nidos@master:~$ sudo gedit /usr/local/hadoop/etc/hadoop/masters ... 183

Gambar 4.13 Hasil nidos@master:~$ sudo gedit /usr/local/hadoop/etc/hadoop/slaves ... 184

Gambar 4.14 Clone PC Master ... 186

Gambar 4.15 Setting PC Master ... 186

Gambar 4.16 Setting PC Node1, Node2 dan Node3:... 186

Gambar 4.17 Tampilan Lihat IP Master ... 187

Gambar 4.18 Setting IP PC Node 1 ... 187

Gambar 4.19 Setting IP PC Node 2 ... 187

(18)

Gambar 4.21 Tampilan nidos@node1:~$ sudo gedit

/usr/local/hadoop/etc/hadoop/masters ... 189

Gambar 4.22 Tampilan nidos@node1:~$ sudo gedit /usr/local/hadoop/etc/hadoop/slaves ... 190

Gambar 4.23 Tampilan Ubah Setting Network pada Virtual Box ... 196

Gambar 4.24 Tampilan pada Adapter 1 ... 196

Gambar 4.25 Tampilan Call SSH ... 197

Gambar 4.26 Tampilan Call SSH ... 198

Gambar 4.27 Format Namenode dari PC Master ... 199

Gambar 4.28 Tampilan star start-dfs.sh ... 200

Gambar 4.29 Tampilan Start-yarn.sh ... 200

Gambar 4.30 Tampilan http://localhost:50070 di Firefox ... 201

Gambar 4.31 Tampilan Datanode Information di Firefox ... 201

Gambar 4.32 Tampilan http://localhost:50090/status.html di Firefox .. 202

Gambar 4.33 Tampilan http://localhost:8088/cluster di Firefox ... 202

Gambar 4.34 Tampilan Nodes Of the Cluster pada Firefox ... 202

Gambar 4.35 Setting IP Windows ke-1 ... 204

Gambar 4.36 Setting IP PC Master ... 204

Gambar 4.37 Setting IP PC Slave ... 205

Gambar 4.38 Pilih NAT ... 205

Gambar 4.39 Pilih PCI (Master) ... 206

Gambar 4.40 Pilih PCI (Slave) ... 206

Gambar 4.41 Ketik sudo .. (Master) ... 207

Gambar 4.42 Ketik sudo .. (Slave) ... 207

Gambar 4.43 Ketik sudo ifdown eth1 ... 208

Gambar 4.44 Ketik sudo nano /etc/hostname ... 208

Gambar 4.45 Ketik sudo nano /etc/hosts ... 208

Gambar 4.46 Ketik sudo nano /etc/hostname ... 209

Gambar 4.47 Ketik sudo nano /etc/hosts ... 209

Gambar 4.48 Cek Koneksi ke PC Slave ... 209

(19)

Gambar 4.50 Ketik “sudo nano /usr/local/hadoop/etc/hadoop/masters”

... 210

Gambar 4.51 Ketik “sudo nano /usr/local/hadoop/etc/hadoop/slaves” 210 Gambar 4.52 Ketik sudo nano /usr/local/hadoop/etc/hadoop/hdfs-site.xml ... 210

Gambar 4.53 Ketik sudo nano /usr/local/hadoop/etc/hadoop/hdfs-site.xml ... 211

Gambar 4.54 Ketik sudo nano /usr/local/hadoop/etc/hadoop/core-site.xml ... 212

Gambar 4.55 Ketik sudo nano /usr/local/hadoop/etc/hadoop/mapred-site.xml ... 212

Gambar 4.56 Buat namenode ... 213

Gambar 4.57 Buat datanode ... 213

Gambar 4.58 Call SSH dari PC Master ... 214

Gambar 4.59 Call SSH dari PC Slave ... 214

Gambar 4.60 Ketik hdfs namenode -format ... 214

Gambar 4.61 Ketik start-all.sh ... 215

Gambar 4.62 JPS pada Master dan Slave ... 215

Gambar 4.63 Cek datanode ... 215

Gambar 4.64 Copy File ... 216

Gambar 4.65 bin hadoop ... 216

Gambar 4.66 bin hdfs ... 216

Gambar 4.67 Cek pada PC Slave ... 216

Gambar 4.68 Cek pada PC Master ... 217

Gambar 4.69 Tampilan Dokumen Uji ... 217

Gambar 4.70 Tampilan File wordcount.java ... 220

Gambar 4.71 Tampilan WordCount.Java dalam folder ... 221

Gambar 4.72 Hasil nidos@master:/usr/local/hadoop$ jar cf wc.jar WordCount*.class ... 221

Gambar 4.73 Tampilan nidos@master:/usr/local/hadoop$ bin/hdfs dfs -cat /user/nidos/wordcount/output/part* ... 222

Gambar 4.74 Browse Directory pada Forefox ... 223

(20)

Gambar 4.76 File Information Pada Firefox ... 224

Gambar 4.77 File *.java dari Algoritma Naive_Bayes_Classifier_MapReduce ... 225

Gambar 4.78 Folder /usr/local/hadoop ... 226

Gambar 4.79 File *.java ... 227

Gambar 4.80 File *.java pada Folder Hadoop ... 227

Gambar 4.81 File *.class pada Folder Hadoop ... 228

Gambar 4.82 Hasill 1 of 2 ... 229

Gambar 4.83 Hasil 2 of 2 ... 229

Gambar 4.84 NBbyArgument pada Eclipse ... 230

Gambar 4.85 Running “NBbyArgument” ke-1 ... 231

Gambar 4.86 Running “NBbyArgument” ke-2 ... 231

Gambar 4.87 Running “NBbyArgument” ke-3 ... 232

Gambar 4.88 Running “NBbyArgument” ke-4 ... 232

Gambar 4.89 Running “NBbyArgument” ke-5 ... 233

Gambar 4.90 Running “NBbyArgument” ke-6 ... 233

Gambar 4.91 Running “NBbyArgument” ke-7 ... 234

Gambar 4.92 Running “NBbyArgument” ke-8 ... 234

Gambar 4.93 Running “NBtanpaArgument” ke-1 ... 235

Gambar 4.94 Running “NBtanpaArgument” ke-2 ... 235

Gambar 4.95 Running “NBtanpaArgument” ke-3 ... 236

Gambar 4.96 Running “NBtanpaArgument” ke-4 ... 236

Gambar 4.97 File *.java dari Algoritma K-Means ... 237

Gambar 4.98 Folder Com ... 237

Gambar 4.99 File *.class ... 238

Gambar 4.100 File KMeans.jar ... 238

Gambar 4.101 Hasil 1 of 2... 239

Gambar 4.102 Folder mapreduce dan model ... 239

Gambar 4.103 Folder com dalam folder hadoop ... 240

Gambar 4.104 File *.class ... 240

Gambar 4.105 File KMeans.jar ... 241

(21)

Gambar 4.107 Hasil 2 of 2... 242

Gambar 5.1 Konsep HierarchicalClustering ... 244

Gambar 5.2 Konsep Non-Hierarchical Clustering ... 245

Gambar 5.3 K-Means ... 249

Gambar 5.4 Kernel K-Means ... 249

Gambar 5.5 Visualisasi Hasil Mapping Data Kernel K-means ... 188

Gambar 5.6 Visualisasi Data 2 Dimensi ... 189

Gambar 5.7 Visualisasi data hasil update anggota cluster iterasi 1 195 Gambar 6.1 Visualisasi Hasil Peramalan Iterasi SVR 100000 ... 197

Gambar 6.2 Regresi ... 199

Gambar 6.3 Arsitektur ELM ... 200

Gambar 6.4 Training Algoritma ELM ... 201

Gambar 6.5 Training ELM dengan Bias ... 201

Gambar 6.6 Arsitektur Artificial Neural Network Backpropagation... 202

Gambar 7.1 Gambaran Perbedaan Klasifikasi dan Regresi ... 208

Gambar 7.2 Contoh Regresi... 208

Gambar 7.3 Contoh Klasifikasi ... 209

Gambar 7.4 Linear Clasifier... 209

Gambar 7.5 Non-Linear Clasifier ... 209

Gambar 7.6 Ilustrasi SVM Linear ... 211

Gambar 7.7 SVM Non-Linear ... 212

Gambar 7.8 Gambaran SVM dengan Slack Variable ... 212

Gambar 7.9 Contoh Klasifikasi dengan Metode One-Against-All .... 218

Gambar 7.10 Klasifikasi One-Against-One untuk 4 Kelas ... 219

Gambar 7.11 Ilustrasi Klasifikasi dengan BDTSVM ... 220

Gambar 7.12 Ilustrasi Klasifikasi dengan metode DAGSVM ... 221

Gambar 8.1 Get Eclipse OXYGEN ... 223

Gambar 8.2 Bahasa Java/ Scala/ Python/ R ... 223

Gambar 8.5 Copy paste file *.vdi ... 364

Gambar 8.6 Buka cmd as administrator ... 364

(22)
(23)

Gambar 8.38 copy file jars (“mongo-hadoop-core-2.0.1.jar” dan “mongo-java-driver-3.4.0.jar”) ke dir. lib pada tiap di hadoop cluster ... 386 Gambar 8.39 Buat DB “testmr” ... 386 Gambar 8.40 Tampilan Add Collection ... 387 Gambar 8.41 Import file “*.json” as collection pada DB “testmr” ke collection “in” ... 387 Gambar 8.42 Text Input ... 388 Gambar 8.43 Import Document Untuk file “in.json”  tidak standar Mongo ... 389

Gambar 8.44 Import Document Untuk file “in.json”  tidak standar Mongo ... 389

Gambar 8.45 file in_standard.json  standar Mongo ... 390 Gambar 8.46 in_standard.json  standar Mongo (Klik Open) ... 390 Gambar 8.47 Import Document ... 391 Gambar 8.48 Hasil dari Klik Import ... 391 Gambar 8.49 file “WordCountMongo.java”: ... 394 Gambar 8.50 Hasil: nidos@master:/usr/local/hadoop$ bin/hdfs

com.sun.tools.javac.Main WordCountMongo.java ... 396

Gambar 8.51 Hasil: nidos@master:/usr/local/hadoop$ jar cf wcmongo.jar WordCountMongo*.class ... 396

(24)

Gambar 8.64 Compile Semua file *.java ke *.jar ... 407 Gambar 8.65 Hasil: nidos@master:/usr/local/hadoop$ jar cf ratemovie.jar comratingbymovies/nidos/*.class ... 408

Gambar 8.66 Hasil: nidos@master:/usr/local/hadoop$ jar cf ratemovie.jar comratingbymovies/nidos/*.class ... 408

(25)
(26)

Daftar Source Code

Source Code 3.1 Solusi Localhost:50070 tidak ada koneksi ... 37 Source Code 3.2 Membuat Directories di HDFS ... 37 Source Code 3.3 File *.java Part 1 ... 37 Source Code 3.4 File *.java Part 1 Cont ... 38 Source Code 3.5 File *.Java Part 2 ... 39 Source Code 3.6 File *.Java Cont ... 40 Source Code 3.7 Solusi Error: Could not find or load main class

com.sun.tools.javac.Main ... 40

Source Code 3.8 Solusi Error: Could not find or load main class fs: ... 42 Source Code 3.9 Solusi Error: Could not find or load main class fs: Cont 43 Source Code 3.10 Hasil: hduser@Master:/usr/local/hadoop$ bin/hdfs dfs -copyFromLocal /home/nidos/Desktop/data/a.txt

/user/hduser/wordcount/input ... 43 Source Code 3.11 Solusi jika sering muncul warning: WARN

(27)

Source Code 4.8 Setting PC Master (Node1, Node2, Node 3) ... 189 Source Code 4.9 Setting PC Master ... 190 Source Code 4.10 Setting PC Master ... 190 Source Code 4.11 Setting PC Master ... 191 Source Code 4.12 Call SSH ... 192 Source Code 4.13 Cek Status SSH Ok ... 192 Source Code 4.14 Cek Status SSH Error ... 192 Source Code 4.15 Re-install SSH dan Cek Status OK ... 193 Source Code 4.16 Call SSH untuk Node 2 ... 193 Source Code 4.17 Cek Status SSH Ok ... 194 Source Code 4.18 Cek Status SSH Error ... 194 Source Code 4.19 Re-Install SSH dan Cek Status ... 194 Source Code 4.20 Call SSH untuk Node 3 ... 194 Source Code 4.21 Call SSH untuk Node 3 Cont. ... 195 Source Code 4.22 Cek Status SSH Ok ... 195 Source Code 4.23 Cek Status SSH Error ... 195 Source Code 4.24 Re-Install SSH dan Cek Status ... 195 Source Code 4.25 Solusi untuk error “ssh: connect to host

(28)
(29)
(30)

BAB 1 Konsep Big Data

1.1 Pengantar

Banyak perdebatan yang signifikan tentang apa itu Big Data dan apa jenis keterampilan yang diperlukan untuk penggunaan terbaik dari Big Data tersebut. Banyak yang menulis tentang Big Data dan kebutuhan untuk analisis yang canggih dalam industri, akademisi, dan pemerintah, maupun lainnya. Ketersediaan sumber data baru dan munculnya peluang analitis yang lebih kompleks telah menciptakan kebutuhan untuk memikirkan kembali arsitektur data yang ada untuk memungkinkan analisis yang dapat dengan optimal memanfaatkan Big Data.

Bab ini menjelaskan beberapa konsep utama Big Data, mengapa analisis canggih diperlukan, perbedaan Data Science vs Business Intelligence (BI), dan apa peran baru yang diperlukan untuk ekosistem Big Data. Berikut berbagai perkembangan data dan munculnya sumber data yang besar dari tahun ke tahun yang ditunjukan oleh Gambar 1.1 berikut:

Gambar 1.1 Perkembangan data

(31)

Gambar 1.2 Data Science vs Business Intelligence

Sebuah penelitian eksplanatori (Explanatory Research) menurut Singarimbun dalam Singarimbun dan Effendi (Ed 1995) merupakan penelitian yang menjelaskan hubungan kausal (sebab akibat) antara variabel penelitian dengan pengujian hipotesa (menguji suatu teori atau hipotesis guna memperkuat atau bahkan menolak teori atau hipotesis hasil penelitian yang sudah ada sebelumnya). Di dalam penelitian eksplanatori, pendekatan yang dipakai dalam penelitian ini adalah metode survey, yaitu penelitian yang dilakukan untuk memperoleh fakta-fakta mengenai fenomena-fenomena yang ada di dalam obyek penelitian dan mencari keterangan secara aktual dan sistematis.

Pengertian riset eksploratori adalah riset yang ditujukan untuk mengeksplor atau untuk mengumpulkan pemahaman mendalam (penyelidikan) mengenai suatu masalah, bukan untuk menguji variabel karena variabel-tersebut biasanya belum diketahui dan baru akan diketahui melalui riset. Riset eksploratori bersifat fleksibel dan tidak terstruktur. Umumnya riset ini berbentuk riset kualitatif dengan metode pengumpulan data yang lazim digunakan yaitu wawancara dan diskusi kelompok.

(32)

1.2 Gambaran Umum Big Data

Dari sudut pandang ilmu pengetahuan, media penyimpanan pada hardware yang dapat digunakan adalah HDD, FDD, dan yang sejenisnya. Sedangkan media penyimpanan pada jaringan biologi, pada diri kita dikaruniai Otak oleh Sang Creator atau Sang Pencipta. Seberapa penting mengolah data-data yang kecil kemudian berkumpul menjadi data yang besar (Big Data) tersebut. Berikut gambaran umum Big Data yang ditunjukkan oleh Gambar 1.3.

Gambar 1.3 Gambaran Umum Big Data

Dari gambar 1.3 diatas dapat dilihat beberapa elemen penting dalam big data diantaranya:

- Data (Facts, a description of the World)

- Information (Captured Data and Knowledge): Merekam atau

mengambil Data dan Knowledge pada satu waktu tertentu (at a single point). Sedangkan Data dan Knowledge dapat terus berubah dan bertambah dari waktu ke waktu.

- Knowledge (Our personal map/model of the world): apa yang kita

ketahui (not the real world itself) Anda saat ini tidak dapat menyimpan pengetahuan dalam diri anda dalam apa pun selain otak, dan untuk membangun pengetahuan perlu informasi dan data.

(33)

keragaman (variety) yang sangat besar, dan atau abadi, sehingga membutuhkan penggunaan arsitektur teknikal dan metode analitik yang inovatif untuk mendapatkan wawasan yang dapat memberikan nilai bisnis baru (informasi yang bermakna). Dan pada pengembangannya ada yang menyebut (7V) termasuk Volume, Velocity, Variety, Variability, Veracity, Value, dan Visualization, atau 10V bahkan lebih dari itu.

Gambar 1.4 Big Data dengan 6V+ 1V(Visualization)=7V

Big data merupakan istilah untuk sekumpulan data yang begitu besar atau kompleks dimana tidak bisa ditangani lagi dengan sistem teknologi komputer konvensional (Hurwitz, et al., 2013). Kapan suatu

data dapat dikatakan sebagai “Big Data”?

Gambar 1.5 Big Data dengan 10V datayang memiliki nilai guna

(data yang berguna)

Volume

Perubahan data selama pemrosesan dan

lifecycle-nya

Variability

Data yang masuk da-lam berbagai format

(terstruktur, semi terstruktur, dan tidak terstruktur)

Variety

Veracity

Analisis yang dilakukan pada Data, akan lebih bermanfaat bila

akurasi data ditingkatkan

Velocity dibuat/ digenerate/ di-Kecepatan data yang tangkap, dan dialirkan (data streaming real time)

Value

Jumlah data yang dihasilkan da-lam ukuran petabyte (^15) ke

zetabyte (^21)

Ukuran Data

Teka-teki terhadap teknik meaning

Big Data dan Tools yang digunakan Kecepatan Data

yang dihasilkan

Model Data, Semantik yang menggambarkan Struktur data

Kualitas data, Tata Kelola, Pengelolaan Data Master secara Massive

Data yang punya nilai guna

Perilaku Berkembang, Dinamis dari Sumber Data

Akurasi data Berbagai tipe data

(34)

1.3 Karakteristik Big Data (3V)

1. Volume

- Facebook menghasilkan 10TB data baru setiap hari, Twitter 7TB

- Sebuah Boeing 737 menghasilkan 240 terabyte data pen-erbangan selama penpen-erbangan dari satu wilayah bagian AS ke wilayah yang lain

- Microsoft kini memiliki satu juta server, kurang dari Google, tetapi lebih dari Amazon, kata Ballmer (2013).

Catatan: Kita dapat menggunakan semua data ini untuk memberitahu kita sesuatu, jika kita mengetahui pertanyaan yang tepat untuk bertanya.

(35)

Kata Big Data mengarah kepada managemen informasi skala besar (large-scale) dan teknologi analisis yang melebihi kapabilitas teknologi data secara tradisional. Terdapat perbedaan yang paling utama dalam tiga hal antara Tradisional dengan Big Data, yaitu amount of data (vol-ume), the rate of data generation and transmission (velocity), dan the types of structured and unstructured data (variety).

Gambar 1.7 Bentuk Infrastruktur

Data Center Gambar 1.8 Google Cloud Platform

Berikut gambaran traditioonal approach dan big data approach yang ditunjukkan oleh Gambar 1.6 dan 1.7.

Traditional Approach

Gambar 1.9 Analyze small subsets of data

Big Data Approach

Gambar 1.10 Analyze all data

(36)

Gambar 1.11 Batch dan stream processing

2. Velocity

(37)

Traditional Approach Start with hypothesis and test against selected data

Gambar 1.12 Traditional Ap-proach

Big Data Approach Explore all data and identify

correlations

Gambar 1.13 Big Data Approach

3. Variety

Variety merupakan kumpulan dari berbagai macam data, baik data yang terstruktur, semi terstruktur maupun data tidak terstruktur (bisa dipastikan lebih mendominasi). Tampilan data semakin komprehensif (lengkap dan menyeluruh).

Gambar 1.14 Variety Data

4. Rangkuman 3V dan Veracity

Gambar 1.15 Rangkuman 3V dan Veracity

data yang terstruktur

semi terstruktur

Data streaming pada sepersekian detik

Kepastian kondisi data, apakah datanya

(38)

1.4 Ekosistem Big Data Analytics

Berikut gambaran dari Ekosistem Big Data yang ditunjukkan oleh Gambar 1.15:

Gambar 1.16 Gambaran Ekosistem Big Data

Keterangan:

1. Data Devices

2. Data Collectors

3. Data Aggregators: kompilasi informasi dari database dengan tujuan untuk mempersiapkan dataset gabungan untuk pengolahan data.

4. Data Users/ Buyers

Apa yang dimasud dengan Analytics? Sebuah titik awal untuk memahami Analytics adalah Cara untuk mengeksplorasi/ menyelidiki/ memahami secara mendalam suatu objek sampai ke akar-akarnya. Hasil analytics biasanya tidak menyebabkan banyak kebingungan, karena konteksnya biasanya membuat makna yang jelas. Perkembangan analytics dimulai dari DSS kemudian berkem-bang menjadi BI (BussinesIntelligence) baru kemudian menjadi ana-lytics yang ditunjukkan oleh Gambar 1.16 berikut:

Gambar 1.17 Perkembangan Analytics

Decision Support Systems

Business

Intelligence

Analytics

(39)

BI dapat dilihat sebagai istilah umum untuk semua aplikasi yang mendukung DSS, dan bagaimana hal itu ditafsirkan dalam industri dan semakin meluas sampai di kalangan akademisi. BI berevolusi dari DSS, dan orang dapat berargumentasi bahwa Analytics berevolusi dari BI (setidaknya dalam hal peristilahan). Dengan demikian, Analytics merupakan istilah umum untuk aplikasi analisis data.

Big Data Analytics merupakan Alat dan teknik analisis yang akan sangat membantu dalam memahami big data dengan syarat algoritma yang menjadi bagian dari alat-alat ini harus mampu bekerja dengan jumlah besar pada kondisi real-time dan pada data yang berbeda-beda.

Bidang Pekerjaan baru Big Data Analytics:

- Deep Analytical Talent / Data scientists (Memiliki bakat

analitik yang mendalam/ Ilmuwan Data): orang-orang dengan latar belakang yang kuat dalam algoritma-algoritma sistem cerdas, atau matematika terapan, atau ekonomi, atau ilmu pengetahuan lainnya melalui inferensi data dan ek-splorasi.

- Data Savvy Professionals (Para profesional Data Cerdas):

Mereka tahu bagaimana untuk berpikir tentang data, bagaimana mengajukan jenis pertanyaan (goal) yang tepat sesuai dengan kebutuhan lembaga/perusahaan/lainnya dan mampu memahami dan mengklarifikasi jawaban (hasil analisis) yang mereka terima.

- Technology and data enablers: Mampu memberikan

dukungan integrasi antara data dengan teknologi yang sesuai, dan yang paling berkembang saat ini.

Contoh perusahaan atau developer yang menggunakan analisis Big Data:

- Starbucks (Memperkenalkan Produk Coffee Baru). Pagi itu

(40)

dan menjelang akhir hari semua komentar negatif telah menghilang. Bagaimana jika menggunakan analisis tradisional?

Contoh tersebut menggambarkan penggunaan sumber data yang berbeda dari Big Data dan berbagai jenis analisis yang dapat dilakukan dengan respon sangat cepat oleh pihak Starbucks.

- Pemilihan Presiden atau walikota atau lainnya di suatu Negara atau kota melalui analisis tweet dengan Apache HDF/NiFi, Spark, Hive dan Zeppelin.

o Apache NiFi, get filtered tweets yang berhubungan dengan Pemilihan Presiden atau walikota, misal di Indonesia atau di kota tertentu.

o Apache Spark, getthe stream of tweets dari Apache NiFi.

o Spark streaming, untuk mentransformasi dan menyimpan data ke dalam suatu tabel pada Apache Hive.

o Apache Zeppelin notebook, untuk menampilkan data hasil secara real-time.

Hasil analytics:

o Frekuensi dari tweets sepanjang waktu per kandidat

o Persentase tweet negatif, positive dan neutral per kandi-dat

o Tren opini sepanjang waktu untuk tiap kandidat

1.5 Ekosistem Tool Big Data Analytics

(41)

Gambar 1.18 Contoh Ekosistem Hadoop ke-1

Berdasarkan dari Ekosistem Big Data yang begitu kompleks pada bab sebelumnya, maka hal yang sangat penting dilakukan pertama kali sebagai kunci sukses untuk membangun Ekosistem Hadoop adalah mengidentifikasi kegunaan dan bagaimana interaksi antara, atau dari masing-masing Tool Big Data, serta apa saja yang nantinya akan digunakan dalam melakukan pembuatan implementasi pada lingkungan Hadoop. Gambar 1.17 memberikan contoh gambaran umum tentang interaksi aplikasi, tool dan interface yang ada di ekosistem Hadoop yang dibangun, misal berdasarkan kategori atau spesifikasi dari setiap produk-produk Apache berdasarkan fungsinya, mana yang spesifik digunakan untuk; (Storage, Processing, Querying, External Integration & Coordination), dan bagaimana kecocokan interaksi diantara mereka.

(42)

Gambar 1.19 Contoh Ekosistem Hadoop ke-2

Fokus dari adanya visualisasi ekosistem dari Tool Big Data adalah terkait suatu gambaran sistem yang mempelajari interaksi antara satu Tool Big Data satu dengan lainnya, maupun interakti suatu Tool Big Data yang ada dengan Lingkungannya (misal Data, Kondisi Kasusnya, dll), sedangkan fokus dari pembuatan arsitektur Tool Big Data (akan dibahas lebih detil pada bab selanjutnya) adalah lebih ke arah seni dan ilmu yang digunakan untuk merancang, mendesain dan membangun produk dari mengkombinasikan dari banyaknya pilihan Tool -Tool Big Data yang ada sesuai dengan seberapa komplek kasus yang ditangani untuk projek analitik dalam Scope Big Data, dan memungkinkan akan adanya modifikasi atau perbaikan kembali arsitektur yang ada sebelumnya dari waktu ke waktu, misal dalam beberapa bulan atau tahun produk arsitertur tersebut mungkin akan menjadi usang dan harus diganti dengan arsitektur yang lain yang lebih baik dan optimal.

(43)

kesehatan (Healthcare), dsb bisa menggunakan Hadoop Distribution (HD) dari hasil karya terbaik beberapa perusahaan berikut,

1. Cloudera: didirikan orang-orang yang berkontribusi di project Hadoop di Apache, Memiliki pangsa pasar paling besar, membuat HD versi gratis dan juga versi enterprise yang tidak gratis, menambahkan software khusus milik mereka yang disebut Impala (Query Engine diatas HDFS, seperti Map Reduce yang bisa dijalankan dengan low-latency atau dengan waktu yang lebih pendek dibanding Map Reduce).

2. HortonWorks: didirikan orang-orang yang berkontribusi di project Hadoop juga, diadopsi di Microsoft Azure dan menjadi Microsoft HD Insight. Partnership ini yang membuat Hortonworks sampai saat ini satu-satunya Hadoop yang compatible dan mudah dijalankan di Microsoft Windows, HD versi enterprise dari Hortonworks adalah gratis. Hortonworks mendapatkan keuntungan dari support dan training.

3. MapR Technologies: seperti Hortonworks, memberikan gratis untuk versi enterprisenya dan mendapat keuntungan dari support dan training, digunakannya oleh dua perusahaan cloud computing yang besar Amazon dan Google, maka MapR banyak digunakan oleh pengguna cloud computing.

4. etc

(44)

kemudian disusul Tool yang lainnya , hal ini akan memudahkan anda belajar untuk menjadi sangat ahli dalam bidang Big Data dan Tool-nya, sehingga setelah mahir, anda akan merasa sangat mudah dalam membuat Hadoop Distribution secara mandiri.

Gambar 1.20 Cloudera vs Hortonworks vs MapR

1.6 Tugas Kelompok

1. Jelaskan Pengertian dan keberadaan (ada atau tidak adanya) dari Big Data, dari sudut pandang spesifikasi hardware:

a. Jika belum memenuhi kebutuhan Big Data tersebut. b. Jika sudah memenuhi kebutuhan Big Data tersebut. 2. Sebutkan permasalahan apa saja yang sering muncul pada Big

Data?

3. Jelaskan apa yang dimaksud dengan Volume, Velocity, Variety, dan Veracity dalam Big Data!

4. Jelaskan Perbedaan antara analisis dan analitik (analytics)! 5. Apa pendapat anda antara Big Data vs Big Information vs Big

Knowledge, manakah diantara ke-3 hal tersebut yang lebih utama?

(45)

BAB 2 Analitik Big Data

& Lifecycle

2.1 Pengantar

Fakta-fakta terkait dengan kondisi existing Perusahaan:

Gambar 2.1 Daftar Perusahaan

Informasi apa saja yang bisa digali dari Big Data pada perusahaan di atas? Dan strategi apa saja yang bisa dilakukan dari masing-masing perusahaan di atas terkait Analitik Data.

- Advance Technology (Tools) Big Data

- Key Roles Kunci Sukses Proyek Analitik

- Lifecycle Analitik Data

2.2 Teknologi Advaced (Tools) Big Data

Teknologi yang digunakan dalam pentyimpanan (storage), pemrosesan (processing), dan analisis dari Big Data meliputi:

a. Dengan cepat menurunnya biaya penyimpanan dan daya CPU dalam beberapa tahun terakhir.

b. Fleksibilitas dan efektivitas biaya pusat data (datacenters) dan komputasi awan (cloud computing) untuk perhitungan dan penyimpanan elastis;

(46)

Gambar 2.2 Faktor yang mendorong (driving) adopsi Big Data

Beberapa tools yang dapat membantu untuk membuat query yang kompleks dan menjalankan algoritma dari machine learning di atas hadoop, meliputi:

- Pig (sebuah platform dan scripting language untuk complex queries)

- Hive (suatu SQL-friendly query language)

- Mahout dan RHadoop (data mining dan machine learning algorithms untuk Hadoop)

- Selain hadoop, terdapat frameworks baru seperti Spark yang didesain untuk meningkatkan efisiensi dari data mining dan algoritma pada machine learning pada hadoop, sehingga dapat digunakan secara berulang-ulang untuk mengerjakan pengolahan/ analitik secara mendalam dari kumpulan data

Dan juga terdapat beberapa database yang didesain untuk efisiensi peyimpanan dan query Big Data, meliput:

- MongoDB

- Cassandra

- CouchDB

- Greenplum Database

- HBase, MongoDB, dan

(47)

Pengolahan secara stream (Stream processing) yang artinya adalah pemrosesan data yang memiliki arus atau aliran data/informasi secara terus-menerus yang hampir setiap waktu ada data baru yang masuk dan butuh untuk dilakukan pengolahan terus-menerus pula. Stream processing tidak memiliki teknologi tunggal yang dominan seperti Hadoop, namun merupakan area untuk menumbuhkan penelitian menjadi lebih luas serta mendalam dan pengembangan lebih lanjut (Cugola & Margara 2012). Salah satu model untuk Stream processing adalah Complex Event Processing (Luckham 2002), yang menganggap arus informasi sebagai notifikasi kreasi atau indikasi akan munculnya peristiwa tertentu (melalui pola/pattern yang diidentifikasi) yang perlu digabungkan untuk menghasilkan pengetahuan akan adanya indikasi kejadian sangat penting atau tingkat tinggi (high-level events). Implementasi teknologi stream antara lainnya meliputi:

- InfoSphere Streams

- Jubatus, dan

- Storm

2.3 Arsitektur Big Data

Cara Terbaik untuk mendapatkan solusi dari Permasalahan Big Data (Big Data Solution) adalah dengan "Membagi Masalahnya". Big Data Solution dapat dipahami dengan baik menggunakan Layered Architecture. Arsitektur Layered dibagi ke dalam Lapisan yang berbeda dimana setiap lapisan memiliki spesifikasi dalam melakukan fungsi tertentu. Arsitektur tersebut membantu dalam merancang Data Pipeline (jalur data) dengan berbagai mode, baik Batch Processing System atau Stream Processing System. Arsitektur ini terdiri dari 6 lapisan yang menjamin arus data yang optimal dan aman.

(48)

mentah, dan semua datanya disimpan, tidak hanya data yang digunakan saja, tapi juga data yang mungkin digunakan di masa depan. Di Data Lake semua data tersimpan dalam bentuk aslinya.

Lapisan Kolektor Data (Data Collector Layer) - Di Lapisan ini, lebih fokus pada penyaluran data dari lapisan penyerapan atau pengambilan data awal (ingestion) ke jalur data yang lainnya. Pada Lapisan ini, data akan dipisahkan sesuai dengan kelompoknya atau komponen-komponennya (Topik: kategori yang ditentukan pengguna yang pesannya dipublikasikan, Produser - Produsen yang memposting pesan dalam satu topik atau lebih, Konsumen - berlangganan topik dan memproses pesan yang diposkan, Brokers - Pialang yang tekun dalam mengelola dan replikasi data pesan) sehingga proses analitik bisa dimulai. Tool yang dapat digunakan, yaitu Apache Kafka.

Gambar 2.3 Arsitektur Big Data

(49)

diarahkan dan ini adalah titik awal di mana analitik telah dilakukan. Data pipeline merupakan komponen utama dari Integrasi Data. Data pipeline mengalirkan dan mengubah data real-time ke layanan yang memerlukannya, mengotomatiskan pergerakan dan transformasi data, mengolah data yang berjalan di dalam aplikasi Anda, dan mentransformasikan semua data yang masuk ke dalam format standar sehingga bisa digunakan untuk analisis dan visualisasi. Jadi, Data pipeline adalah rangkaian langkah yang ditempuh oleh data Anda. Output dari satu langkah dalam proses menjadi input berikutnya. Langkah-langkah dari Data pipeline dapat mencakup pembersihan, transformasi, penggabungan, pemodelan dan banyak lagi, dalam bentuk kombinasi apapun. Tool yang dapat digunakan, yaitu Apache Sqoop, Apache Storm, Apache Spark, Apache Flink.

Lapisan Penyimpanan Data (Data Storage Layer) - Media penyimpanan menjadi tantangan utama, saat ukuran data yang digunakan menjadi sangat besar. Lapisan ini berfokus pada "tempat menyimpan data yang begitu besar secara efisien". Tool yang dapat digunakan, yaitu Apache Hadoop (HDFS), Gluster file systems (GFS), Amazon S3.

Lapisan Query Data (Data Query Layer) - lapisan ini merupakan tempat berlangsungnya pemrosesan secara analitik yang sedang dalam keadaaan aktif. Di sini, fokus utamanya adalah mengumpulkan data value sehingga dapat dibuat lebih bermanfaat dan mudah digunakan untuk lapisan berikutnya. Tool yang dapat digunakan, yaitu Apache Hive, Apache (Spark SQL), Amazon Redshift, Presto.

(50)

menemukan dan memfilter informasi saat Anda melihat data perusahaan atau berselancar di Internet dan tidak tahu di mana informasi yang tepat, “React.js” sebagai sistem recommender untuk memprediksi tentang kriteria pengguna, yaitu menentukan model penggunanya seperti apa.

Gambar 2.4 Data Integration Using Apache NiFi dan Apache Kafka

Gambar 2.5 Integrating Apache Spark dan NiFi for Data Lakes

(51)

dengan memasukkan data dalam satu kumpulan data besar di Hadoop.

2.4 Key Roles Kunci Sukses Proyek

Analitik

Gambar 2.6 Key Roles Kunci Sukses Proyek Analitik

Terdapat beberapa komponen Key roles: 1. Bussines User

Business User: Seseorang yang memahami wilayah domain

(kondisi existing) dan dapat mengambil manfaat besar dari hasil proyek analitik, dengan cara konsultasi dan menyarankan tim proyek pada scope proyek, hasil, dan operasional output (terkait dengan cara mengukur suatu variabel). Biasanya yang memenuhi peran ini adalah analis bisnis, manajer lini, atau ahli dalam hal pokok yang mendalam.

2. Project Sponsor

Project Sponsor: Bertanggung jawab terkait asal proyek.

Memberi dorongan, persyaratan proyek dan mendefinisikan masalah core bisnis. Umumnya menyediakan dana dan konsep pengukur tingkat nilai output akhir dari tim kerja. Menetapkan prioritas proyek dan menjelaskan output yang diinginkan.

3. Project Manager

Project Manager: Memastikan bahwa pencapaian utama

projek dan tujuan terpenuhi tepat waktu dan sesuai dengan kualitas yang diharapkan.

(52)

Business Intelligence Analyst: Menyediakan keahlian dalam domain bisnis berdasarkan pemahaman yang mendalam mengenai data, indikator kinerja utama (KPI), metrik kunci, dan intelijen bisnis dari perspektif pelaporan. Analis Business Intelligence umumnya membuat dashboard (panel kontrol) dan laporan dan memiliki pengetahuan tentang sumber data dan mekanismenya.

5. Database Administrator (DBA)

Database Administrator (DBA): Set up dan mengkonfigurasi database untuk mendukung kebutuhan analitik. Tanggung jawab ini mungkin termasuk menyediakan akses ke database keys atau tabel dan memastikan tingkat keamanan yang sesuai berada di tempat yang berkaitan dengan penyimpanan data.

6. Data Engineer

Data Engineer: Memilki keterampilan teknis yang mendalam

untuk membantu penyetelan query SQL untuk pengelolaan data dan ekstraksi data, dan mendukung untuk konsumsi data ke dalam sandbox analitik. Data Engineer melakukan ekstraksi data aktual dan melakukan manipulasi data yang cukup besar untuk memfasilitasi kebutuhan proyek analitik. Insinyur data (Data Engineer) bekerja sama dengan ilmuwan data (Data Scientist) untuk membantu membentuk data yang sesuai dengan cara yang tepat untuk analisis 7. Data Scientist

(53)

2.5 Lifecycle Analitik Data

Gambar 2.7 Gambaran Umum dari Lifecycle Analitik Data

Dari gambaran umum lifecycle analitik yang ditunjukkan pada Gambar 2.3 dapat dilihat terdapat beberapa fase diantaranya se-bagai berikut:

1. Fase 1 Discovery

Pada tahap ini, tim lmuwan data (Data Scientist) harus belajar, mencari dan menyelidiki fakta-fakta, masalah (identifikasi problem base), mengembangkan konteks dan pemahaman, dan belajar tentang sumber data yang dibutuhkan dan yang telah tersedia untuk kesuksesan proyek analitik. Selain itu, tim merumuskan hipotesis awal yang nantinya dapat diuji dengan data.

(54)

Kegiatan penting dalam fase ini meliputi membingkai masalah bisnis sebagai tantangan analitik yang dapat dibahas dalam fase berikutnya dan merumuskan hipotesis awal (IHs) untuk menguji dan mulai mempelajari data.

2. Fase 2 Data Preparation

Tahap ini membutuhkan adanya sandbox analitik, di mana tim dapat bekerja dengan data dan melakukan analitik selama proyek tersebut. tim perlu melaksanakan proses ekstrak, load dan transformasi (ELT) atau ekstrak, transform dan load (ETL) untuk menyiapkan data ke sandbox.

ETLT adalah proses integrasi data untuk mentransfer data mentah dari server sumber ke sebuah gudang data pada server target dan kemudian menyiapkan informasi untuk keperluan hasil akhir.

Data Sandbox, dalam konteks Big Data, adalah platform terukur dan berkembang yang digunakan untuk mengeksplorasi informasi besar suatu perusahaan. Hal ini memungkinkan perusahaan untuk mewujudkan nilai investasi yang sebenarnya dalam Big Data.

Sebuah sandbox data, utamanya dieksplorasi oleh tim Data Scientist yang menggunakan platform sandbox stand-alone, misal untuk analitik data marts, logical partitions pada suatu media penyimpanan di perusahaan. platform Data sandbox menyediakan komputasi yang diperlukan bagi para ilmuwan Data (Data Scientist) untuk mengatasi beban kerja analitik yang biasanya kompleks. 3. Fase 3 Model Planning

Dalam tahap ini tim menentukan metode, teknik, dan alur kerja. Mereka berniat untuk mengikuti tahap pembentukan model berikutnya. Tim mengeksplorasi data untuk belajar tentang hubungan antara variabel dan kemudian memilih variabel kunci dan model yang paling cocok untuk digunakan.

4. Fase 4 Model Building

(55)

Selain itu, dalam fase ini tim membangun dan mengeksekusi model yang didasarkan pada kerja yang dilakukan di dalam fase Model Planning.

Tim juga mempertimbangkan apakah ini alat yang ada akan cukup untuk menjalankan model, atau jika itu akan membutuhkan lingkungan yang lebih robust untuk mengeksekusi model dan alur kerja (misalnya, hardware yang cepat, teknik dekomposisi data dan pemrosesan paralel, jika dapat diterapkan).

5. Fase 5 CommunicateResult

tim bekerja sama dengan pemangku kepentingan (stakeholders) utama, menentukan apakah hasil proyek tersebut sukses atau mengalami kegagalan berdasarkan kriteria yang dikembangkan di Fase 1.

Tim harus mengidentifikasi temuan kunci, mengukur nilai bisnis, dan mengembangkan narasi untuk meringkas dan menyampaikan temuan kepada para pemangku kepentingan.

6. Fase Operationalize

tim memberikan laporan akhir, pengarahan, kode, dan dokumen teknis. Selain itu, tim dapat menjalankan pilot project untuk menerapkan model dalam lingkungan produksi.

Pilot Project adalah sebuah studi percontohan, proyek percontohan atau studi pendahuluan skala kecil yang dilakukan untuk mengevaluasi kelayakan, waktu, biaya, efek samping, dan efek ukuran dalam upaya untuk memprediksi ukuran sampel yang tepat dan memperbaiki design penelitian sebelum kepada proyek penelitian skala penuh.

2.6 Tugas Kelompok

1. Jelaskan apa yang dimaksud dengan Data Sandbox pada konteks Big Data!

(56)

3. Jelaskan perbedaan antara Data Science dengan Data Engineer!

4. Dari beberapa macam “Key Roles Kunci Sukses Proyek

Anali-tik”, manakah 2 pekerjaan paling banyak dibutuhkan pada saat

ini, terutama diperusahaan besar?

5. Dari “Gambaran Umum dari Lifecycle Analitik Data”, Buatlah studi kasus dengan mengambil salah satu perusahaan besar yang ada di Indonesia atau perusahaan Asing di dunia untuk melakukan fase ke-1, yaitu Discovery. Berikan penjelasan detail terkait hasil penyelidikan anda dari:

a. Fakta-fakta (Analisis kondisi existing yang ada disana) b. Permasalahan yang ditemukan (identifikasi problem

base), yang membutuhkan teknik optimasi, pemodelan, prediksi (1. output berupa value, 2. supervised, atau 3. unsupervised), dan peramalan. c. Dari hasil penjabaran permasalahan pada point (b),

(57)

BAB 3 Teknologi dan Tools

Big Data (Bagian 1)

3.1 Konsep Pengolahan Big Data

Bayangkan ada sekumpulan data yang sangat besar (Big Data), bagaimana kita dapat melakukan Parallel atau Distributed Processing.

FileSistemTerdistribusi (DistributedFileSystem, atau disingkat dengan DFS) adalah file sistem yang mendukung sharing files dan resources dalam bentuk penyimpanan persistent (tetap) untuk tujuan tertentu di sebuah network.

(58)

3.2 Introduction to Hadoop

Hadoop: Suatu software framework (kerangka kerja perangkat

lunak) open source berbasis Java di bawah lisensi Apache untuk aplikasi komputasi data besar secara intensif.

Gambar 3.2 Ilustrasi Hadoop HDFS

HadoopFile System dikembangkan menggunakan desain sistem file yang terdistribusi. Tidak seperti sistem terdistribusi, HDFS sangat faulttolerant dan dirancang menggunakan hardwarelow-cost. Atau dalam arti lain, Hadoop adalah Software platform (platform perangkat lunak) sebagai analytic engine yang memungkinkan seseorang dengan mudah untuk melakukan pembuatan penulisan perintah (write) dan menjalankan (run) aplikasi yang memproses data dalam jumlah besar, dan di dalamnya terdiri dari:

- HDFS –Hadoop Distributed File System

- MapReduce offline computing engine

Dalam komputasi, platform menggambarkan semacam (hardware architecture) arsitektur perangkat keras atau (software framework) kerangka kerja perangkat lunak (termasuk kerangka kerja aplikasi), yang memungkinkan perangkat lunak dapat berjalan. Ciri khas dari platform meliputi arsitekturnya komputer, sistem operasi, bahasa pemrograman dan runtimelibraries atau GUI yang terkait.

Apa yang ada pada Hadoop dari sudut pandang:

(59)

- Framework: HDFS Explorer, .. ?

3.2.1 Hadoop Distributed File System (HDFS)

Hadoop terdiri dari HDFS (Hadoop Distributed file System) dan Map Reduce. HDFS sebagai direktori di komputer dimana data hadoop disimpan. Untuk pertama kalinya, direktori ini akan di

“for-mat” agar dapat bekerja sesuai spesifikasi dari Hadoop. HDFS sebagai file system, tidak sejajar dengan jenis file system dari OS seperti NTFS, FAT32. HDFS ini menumpang diatas filesystem milik OS baik Linux, Mac atau Windows.

Data di Hadoop disimpan dalam cluster.

Cluster biasanya terdiri dari banyak node atau komputer/server. Setiap node di dalam cluster ini harus terinstall Hadoop untuk bisa jalan.

Hadoopversi 1.x ada beberapa jenis node di dalam cluster:

- Name Node: Ini adalah node utama yang mengatur penempatan data di cluster, menerima job dan program untuk melakukan pengolahan dan analisis data misal melalui Map Reduce. Name Node menyimpan metadata tempat data di cluster dan juga replikasi data tersebut.

- Data Node: Ini adalah node tempat data ditempatkan. Satu block di HDFS/data node adalah 64 MB. Jadi sebaiknya data yang disimpan di HDFS ukurannya minimal 64 MB untuk memaksimalkan kapasitas penyimpanan di HDFS.

- Secondary Name Node: Bertugas untuk menyimpan informasi penyimpanan data dan pengolahan data yang ada di name node. Fungsinya jika name node mati dan diganti dengan name node baru maka name node baru bisa langsung bekerja dengan mengambil data dari secondary name node.

(60)

Kelemahan HDFS di hadoop versi 1.x adalah jika name node mati. Maka seluruh cluster tidak bisa digunakan sampai name node baru dipasang di cluster.

Hadoop versi 2.x ada beberapa jenis node di dalam cluster:

- Lebih dari satu name nodes. Hal ini berfungsi sebagai implementasi dari High Availability. Hanya ada satu name node yang berjalan di cluster (aktif) sedangkan yang lain dalam kondisi pasif. Jika name node yang aktif mati/rusak, maka name node yang pasif langsung menjadi aktif dan mengambil alih tugas sebagai name node.

- Secondary name node, checkpoint node dan backup node tidak lagi diperlukan. Meskipun ketiga jenis node tersebut menjadi optional, tetapi kebanyakan tidak lagi ada di cluster yang memakai hadoop versi 2.x. Hal ini karena selain fungsi yang redundan, juga lebih baik mengalokasikan node untuk membuat tambahan name node sehingga tingkat High Availability lebih tinggi.

- Data node tidak ada perubahan yang signifikan di versi hadoop 2.x dari versi sebelumnya.

(61)

Gambar 3.3 Arsitektur HDFS

Gambar 3.4 Hadoop 2.x Core Components

3.2.2 MapReduce (MR)

Paradigma (pandangan mendasar) terkait MR:

- Model pemrograman yang dikembangkan Google, Sortir /

Gambar

Gambar 1.5 Big Data dengan 10V
Gambar 1.11 Batch dan stream processing
Gambar 1.12 Traditional Ap-
Gambar 1.19 Contoh Ekosistem Hadoop ke-2
+7

Referensi

Dokumen terkait

Hasil penelitian yaitu terdapat hubungan yang cukup berarti antara kegiatan penyuluhan ID Big Data Meet Up dengan sikap peserta terhadap teknologi Big Data sebagai

Kemajuan yang paling terlihat adalah pada penggunaan teknologi informasi dalam proses pengolahan data menjadi informasi menjadi cepat dan dilakukan secara

Dalam ruang lingkup analisis big data , i 2 Learning memegang peranan penting untuk meningkatkan kualitas data dengan mencegah inkonsistensi yang ada pada dataset , menambah

Dengan teknologi Big Data, Facebook tak pernah kesulitan untuk menangani peredaran data yang melonjak drastis dalam enam tahun terakhir yang berasal dari 1 miliar

Makalah ini tidak membahas hal teknis yang berkaitan dengan teknologi pendukung big data, melainkan memberikan gambaran peluang dan tantangan untuk mengaplikasikan

Selain infrastruktur inti dalam upaya penerapan teknologi big data, pemerintah, organisasi dan perusahaan juga harus menyediakan infrastruktur penunjang. Semua

Implementasi Cyber dan Data Science dalam Konteks Big Data di Telkom Indonesia Di era digital saat ini, big data menjadi semakin penting bagi bisnis untuk tetap kompetitif dan memenuhi

Penggunaan teknologi Big Data dalam konteks kesehatan telah membuka potensi yang besar untuk meningkatkan pemahaman tentang kondisi kesehatan individu dan populasi secara luas,