Abstract:
Big Data bukan hanya tentang data dengan ukuran yang besar. Tetapi, data juga dihasilkan
dengan sangat cepat. Seiring perkembangan teknologi, internet, dan pengguna internet, data
datang dari berbagai macam sumber yang berbeda-beda dengan format yang berbeda-beda
pula. Selain itu data harus bisa ditransformasi dengan cepat untuk meningkatkan analisis dan
keputusan bisnis. Sehingga data tidak bisa diolah secara konvensional lagi; menyimpan seluruh
data dengan format yang berbeda pada data lake.
Dengan menggunakan konsep-konsep pengolahan data stream, proses ekstraksi data dari
sumber, transformasi format data, dan penyimpanan data bisa dilakukan secara real-time.
Konsep-konsep data stream akan diimplementasikan dengan Apache Spark, sebuah framework
untuk mengolah data secara terdistribusi. Untuk mengolah data stream, Apache Spark akan
menggunakan API spark streaming yang mengumpulkan data dengan potongan-potongan kecil
(windows) dan dengan Spark SQL yang menambahkan aliran data sebagai baris baru pada tabel,
Structured Streaming. Selain itu Apache Spark akan diintegrasikan dengan teknologi lain, Kafka,
sistem yang digunakan untuk menghubungkan sistem-sitem lain dari berbagai sumber data dan
meningkatkan performa streaming.
Penelitian ini dilakukan untuk mengumpulkan data stream dan membandingkan performa
Spark Streaming ketika mengumpulkan data stream secara langsung dengan Structured Streaming
yang terintegrasi dengan Kafka. Eksperimen dilakukan untuk melihat performa Spark Streaming
dan Structured Streaming dalam mengumpulkan data stream.
Langkah-langkah penelitian untuk Spark Streaming adalah dengan mempelajari konsep data
stream, mempelajari teknologi Apache Spark dan Spark Streaming, meng-instal Apache Spark
pada klaster dan meneksplorasi dengan menggunakan API Spark Streaming; membuat Dstream;
dan menghitung kata-kata yang masuk pada sistem; mengumpulkan data twitter secara real-time
dengan library yang disediakan oleh Spark.
Langkah-Langkah penelitian untuk Structured Streaming hampir sama dengan Spark Streaming.
Tetapi, ada langkah-langkah tambahan yaitu mempelajari teknologi Apache Kafka beserta
konsepnya, menginstal Kafka dan Zookeeper pada klaster, meneksplorasi dengan membuat topik,
menentukan partisi, dan membuat konektor, dan mengintegrasikan Kafka dengan Structured
Streaming. Adapun, data yang dikumpulkan oleh Kafka ada dua yaitu data dari twitter dan data
cuaca yang keduanya dikumpulkan oleh Kafka Connect sebelum ditulis ke topik dan diambil
oleh Structured Streaming.
Bentuk dari perangkat lunak kedua eksperimen ini akan berupa jar-jar yang akan dieksekusi
di klaster dan performanya bisa dilihat di antar muka web dan hasil eksekusi akan disimpan di
HDFS
Kesimpulan pertama yang didapat dari penelitian ini adalah Structured Streaming jauh
lebih baik dalam mengumpulkan data stream dibandingkan Spark Streaming karena Structured
Streaming processing time maka pengumpulan jadi lebih cepat. Kesimpulan kedua yang didapat
adalah, Kafka jauh lebih baik untuk mengumpulkan data stream karena bisa mengumpulkan
data stream dari berbagai sumber dengan cepat dan fault tolerant. Tetapi, Structured Streaming
baik dalam mentransformasi data tidak terstruktur menjadi terstruktur dan ekstraksi fitur.