Anda di halaman 1dari 6

Assignment

Individual

Dian Rahmad Dermawan


(2201921086)

Session 05
To be Submitted Week XX

COMP8025 Big Data Analytics


Jawablah pertanyaan berikut dengan jelas dan lengkapi dengan ilustrasi jika diperlukan.

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. Pemrosesan aliran dan analisis sentimen:


Ada beberapa tahap yang akan dilakukan pada pemrosesan aliran dan analisis sentiment
yaitu:
a. Memfilter streaming tweet dan mengirim ke socket TCP:
Di bagian ini admin akan membuat soket TCP untuk menerima data streaming. Data
pada akhirnya akan dikonsumsi oleh streaming Spark.

COMP8025 Big Data Analytics


b. Analisis sentimen Tweet menggunakan Spark Streaming:
Spark streaming merupakan API yang menggunakan pendekatan min-batch,
sehingga perlu menentukan interval batch yang akan mengubah data streaming
menjadi aliran diskrit bernama Dstream. Admin mendefinisikan interval batch
sebagai 2 detik, kemudian akan mendefinisikan setiap tweet sebagai positif, netral
atau negatif berdasarkan polaritas sentimen dari paket text-blob. Kemudian
menghitung jumlah tweet di setiap kategori. Admin juga menghitung kata dan tagar
yang paling sering digunakan.
c. Dasbor labu:
Pada bagian ini, admin menggunakan kerangka kerja MVC (Model-View-
Controller) untuk mendesain dashboard. Admin mendefinisikan cara menampilkan
data di setiap bagian pada template.

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:

a. SQL dapat diintegrasikan dengan Bahasa scripting.


b. SQL dapat mengelola volume data yang sangat besar.

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.

COMP8025 Big Data Analytics


Data yang diquery melalui Apache Hive ini disimpan secara terdistribusi dengan rapi pada
filesystem HDFS datanode Hadoop, seperti yang dapat dilihat dari gambar di atas. Apache
Hive mensederhakan cara akses ke data yang disimpan pada HDFS tersebut dengan
membuat compiler query yang menyerupai SQL, disebut dengan HiveQL, untuk kemudian
diterjemahkan ke dalam job Map Reduce Hadoop. Selain itu, Hive juga menyimpan
struktur data, seperti halnya kolom pada tabel RDBMS dalam modul Hive Metastore.

Gambar 1 Cara Kerja Hive SQL

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.

COMP8025 Big Data Analytics


Langkah-3
Mendapatkan Metadata:
Kemudian, Compiler mengirimkan permintaan metadata ke MetaStore (database apa saja)

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

COMP8025 Big Data Analytics


menyebabkan kelambatan pemrosesan perintah-perintah DML (Data Manipulation
Language), karena setiap terjadi perubahan data maka index juga harus disesuaikan.
Saat database dibuat tanpa menggunakan index, maka kinerja server database dapat
menurun secara drastis. Hal ini dikarenakan resource CPU banyak digunakan untuk
pencarian data atau pengaksesan query SQL dengan metode table-scan. Index membuat
pencarian data menjadi lebih optimal karena lebih cepat dan tidak banyak menghabiskan
resource CPU.
Contoh Teknik indexing yaitu seperti berikut:
a. B- Tree merupakan tipe standar dari index yang tersedia pada Oracle, dan sangat
berguna pada saat memilih row yang sesuai dengan kriteria tertentu. Index jenis ini bisa
dibuat dengan perintah CREATE INDEX.
b. Bitmap dan bitmap join index merupakan Index yang biasa digunakan untuk kolom
yang memiliki sedikit nilai yang unik, seperti jenis kelamin, agama, atau status
perkawinan. Index ini biasa digunakan untuk point ke multiple rows.
c. Function-based indexes. Selain melakukan index terhadap kolom, seperti kolom Nama
misalnya, maka Anda juga dapat meng-index suatu kolom yang berbasis fungsi,
misalkan fungsi UPPER.
d. Partitioned indexes berfungsi untuk mendukung partitioned tables atau untuk
menyederhanakan index management. Index partition dapat bersifat lokal bagi partisi
tabel atau dapat pula bersifat global yang berpengaruh pada seluruh tabel.
e. Text indexes berfungsi untuk meng-index nilai text untuk mendukung peningkatan
pada kemampuan pencarian, seperti pencarian frase dan lain sebagainya. Text indexes
merupakan himpunan dari tabel dan index yang dipelihara oleh Oracle untuk
mendukung pencarian teks yang sangat kompleks.

COMP8025 Big Data Analytics

Anda mungkin juga menyukai