Individual
Session 05
To be Submitted Week XX
1. Misalkan anda mendapatkan pekerjaan untuk melakukan Real Time Sentiment Analysis
terhadap setiap Tweet dengan hash tag “Jokowi” menggunakan pendekatan klasifikasi
dengan label sentimen positif dan sentimen negatif. Jelaskan prinsip kerja dari streaming
data processing yang dilakukan pada data tersebut apabila anda memutuskan untuk
menggunakan Apache Spark untuk menyelesaikan pekerjaan tersebut.
Jawaban:
Cara kerja apache spark streaming:
1. Pemrosesan batch dan pemodelan:
Pada bagian ini, menggunakan tweepy untuk mengekstrak tweet dari API arsip lengkap
dan menyimpannya ke hdfs. Kami kemudian memanggil Spark SQL dan Spark MLlib
untuk memproses tweet untuk pemodelan topik dan menyimpan hasilnya untuk
visualisasi dengan matplotlib atau tablo. Adapun pada tahap ini akan dilakukan beberap
proses seperti berikut:
a. Batch Penyerapan tweet dari twitter API:
Pada tahap ini admin akan menetapkan beberapa kriteria seperti tweet dengan hash
tag “Jokowi”, lokasinya berada di Indonesia dan lain-lain.
b. Pemrosesan batch:
Pada langkah ini, perlu dilakukan beberapa preprocess sebelum pemodelan. Admin
akan menjelajahi struktur json tweet. Struktur json bersarang diratakan menjadi satu
catatan per baris dan satu atribut per kolom. Setelah perataan, beberapa langkah
preprocess umum seperti menghapus non-teks, tokenization, lemmatization dan
menghapus stopwords dilakukan.
c. Pemodelan topik dengan pencarian grid:
Setelah pembersihan teks dan tokenisasi, admin akan menggunakan LDA untuk
pemodelan topik. Admin akan menggunakan pencarian grid untuk menentukan.
d. Membuat diagram batang berdasarkan topik:
Setelah pemodelan topik, admin dapat memiliki distribusi topik untuk setiap tweet
dan kita menetapkan tweet ke satu topik yang dominan. Admin mengumpulkan
jumlah tweet di bawah setiap topik untuk setiap hari, kemudian menggunakan paket
balapan grafik batang untuk menunjukkan perubahan topik yang dinamis.
2. Jelaskan mengapa dalam teknologi big data saat ini, Bahasa SQL masih sangat dibutuhkan
untuk mengakses data? Berikan contoh produk apa dalam Hadoop Ecosystem yang dapat
digunakan untuk melakukan hal tersebut serta jelaskan bagaimana cara kerjanya.
Jawaban:
SQL (Structured Query Language) adalah bahasa query yang dirancang untuk membuat,
memelihara, dan mengambil informasi tertentu dari database. Dengan adanya SQL kita
dapat membuat dan memodifikasi struktur database dan tabel. Kita juga dapat menyimpan,
memanipulasi, dan mengambil data dari database dan tabel menggunakan SQL. Terdapat
3 jenis perintah dasar pada SQL yaitu:
a. Data Definition Languange (DDL) merupakan perintah yang digunakan untuk
mendefinisikan data seperti membuat tabel database baru, mengubah dataset, dan
menghapus data. Contoh perintah DDL yaitu create, alter, rename, drop, & show.
b. Data Manipulation Language (DML) merupakan perintah yang digunakan untuk
memanipulasi data. contoh perintah DML yaitu insert, select, update, & delete.
c. Data Control Language (DCL) digunakan khususnya untuk mengatur hak apa saja
yang dimiliki oleh pengguna. Baik itu hak terhadap sebuah database ataupun pada tabel
maupun field yang ada. contoh perintahnya DCL yaitu: grant, revoke.
Brikut beberapa alasan Bahasa SQL sangat diperlukan untuk Big Data:
Pada Hadoop ecosystem yang dapat digunakan yaitu HiveSQL. Apache Hive merupakan
project data warehouse dan analytics yang dibangun di atas platform Apache Hadoop.
Tools ini awalnya dikembangkan oleh developer Facebook yang menilai cara akses/query
data yang disimpan di platform Hadoop terlalu susah karena masih harus menggunakan
konsep Map and Reduce yang implementasinya menggunakan programming Java.
Seperti pada gambar 1 diatas, dapat dijelaskan bahwa proses yang terjadi pada Hive SQL sebagai
berikut:
Langkah 1
Eksekusi query:
Pada langkah awal, antarmuka Hive (baris perintah atau UI Web) mengirimkan query ke Driver
(driver basis data apa pun seperti JDBC, ODBC, dll.) untuk proses eksekusi.
Langkah 2
Mendapatkan Paket:
Driver kemudian mengambil bantuan Query compiler yang menganalisis query untuk memeriksa
sintaks dan rencana query atau persyaratan query.
Langkah-4
Mengirim Metadata:
Metastore mengirimkan metadata sebagai respons terhadap kompiler.
Langkah-5
Mengirim Paket:
Setelah itu, kompiler memeriksa persyaratan dan mengirim ulang paket ke driver. Satu hal yang
perlu diperhatikan di sini adalah penguraian dan kompilasi query selesai hingga langkah ini.
Langkah-6
Menjalankan Rencana:
Kemudian, driver mengirimkan rencana eksekusi ke mesin eksekusi.
Langkah-7
Menjalankan Pekerjaan:
Eksekusi pekerjaan seperti pekerjaan MapReduce, yang dilakukan secara internal. Juga, mesin
eksekusi mengirimkan pekerjaan ke pelacak pekerjaan, yang ada di node Nama dan menugaskan
pekerjaan ini ke Pelacak Tugas, yang lagi-lagi ada di node data.
Langkah-8
Mengambil Hasil:
Setelah eksekusi selesai, mesin eksekusi menerima hasil dari node Data.
Langkah-9
Mengirim hasil:
Setelah mengambil hasil, mesin eksekusi mengirimkan nilai yang dihasilkan tersebut ke driver dan
selanjutnya, akhirnya, dikirim ke Hive Interfaces.
3. Mengapa teknik Indexing merupakan salah isu penting dalam Big Data? Berikan contoh-
contoh teknik-teknik Indexing.
Jawaban:
Indexing merupakan suatu proses di saat mesin pencari melakukan pengindeksan atau
pengarsipan terhadap informasi yang ada di situs tersebut. Indexing merupakan proses
penyimpanan dan pengaturan konten yang ditemukan search engine selama proses
crawling. Selain itu, indexing juga merupakan proses ketika search engine mengatur
informasi sebelum adanya pencarian.
Index merupakan objek struktur data tersendiri yang tidak bergantung kepada struktur
tabel. Setiap index terdiri dari nilai kolom dan penunjuk (atau ROWID) ke baris yang berisi
nilai tersebut. Penunjuk tersebut secara langsung menunjuk ke baris yang tepat pada
tabel, sehingga menghindari terjadinya full table-scan. Akan tetapi lebih banyak index
pada tabel tidak berarti akan mempercepat query. Semakin banyak index pada suatu tabel