Abstract:
Seiring kemajuan dan pemanfaatan teknologi, data bertambah dengan cepat dalam waktu singkat sehingga ukuran data menjadi sangat besar atau sering disebut big data. Agar pengguna bisa mendapatkan informasi dari big data, big data harus diolah dan dianalisis dengan cepat. Beberapa teknologi yang dapat digunakan untuk mengolah dan menganalisis big data, yaitu Apache Hadoop dan Apache Spark. Hadoop adalah sistem terdistribusi yang dapat digunakan untuk mengolah dan menganalisis big data dengan cepat. Spark merupakan framework komputasi di cluster. Spark dioptimalkan untuk berjalan di memori sehingga pemrosesan data lebih cepat dibandingkan komponen komputasi Hadoop, MapReduce.
Hadoop dan Spark memiliki subproyek yang bekerja dengan data terstruktur, yaitu Apache Hive dan Spark SQL. Hive merupakan infrastruktur data warehouse berbasis Hadoop, sedangkan Spark SQL adalah library Spark untuk bekerja dengan data terstruktur. Hive dan Spark menyediakan pengerjaan kueri dengan atau mirip sintaks SQL. Spark SQL dan Hive yang digunakan untuk tujuan yang sama, yaitu mengolah dan menganalisis big data dengan dialek SQL, perlu dipelajari dan diteliti mengenai kesamaan dan perbedaan penggunaan sintaks SQL serta bagaimana performasinya dalam mengerjakan kueri dengan big data.
Penelitian ini dilakukan untuk mencari perbedaan Spark dan Hive. Perbedaan tersebut dapat berupa penggunaan sintaks SQL dan bagaimana performa Spark SQL dan Hive dalam mengerjakan kueri. Eksperimen dilakukan untuk melihat performa Spark dan Hive dalam mengerjakan kueri-kueri SELECT. Langkah penelitian yang dilakukan adalah mempelajari konsep dan pemanfaatan Spark SQL dan Hive, mengeksplorasi fitur SQL pada Spark dan Hive, menyiapkan cluster Hadoop dan Spark, mengumpulkan set big data untuk eksperimen, mengembangkan perangkat lunak berbasis web untuk eksperimen, dan melakukan eksperimen perbandingan kinerja Spark SQL dan Hive. Hasil dari penelitian ini berupa perangkat lunak berbasis web yang dapat menjalankan perangkat lunak dengan Spark untuk mengerjakan kueri-kueri Spark SQL dan Hive. Perangkat lunak web menampilkan daftar kueri untuk eksperimen dan dapat menampilkan hasil kueri serta waktu eksekusi kueri Spark SQL dan Hive. Kueri yang dipilih merupakan kueri-kueri SELECT yang diurutkan dari kueri sederhana hingga kueri yang lebih kompleks. Kueri-kueri yang digunakan sama baik untuk Spark SQL maupun Hive. Eksperimen dilakukan sebanyak tiga kali menggunakan perangkat lunak berbasis web. Data yang digunakan terdiri dari dua data, yaitu data Movies dengan ukuran 358 MB dan data Ratings dengan ukuran 2,6 GB. Hasil yang didapat dari eksperimen adalah waktu eksekusi kueri-kueri SELECT menggunakan Spark SQL dan Hive. Berdasarkan tiga kali eksperimen waktu eksekusi kueri-kueri SELECT dengan Spark SQL dan Hive, Spark SQL lebih cepat dalam menjalankan kueri-kueri SELECT dibandingkan Hive.
Kesimpulan pertama yang didapat dari penelitian ini adalah Spark SQL dan Hive digunakan untuk bekerja dengan data terstruktur. Tetapi, Spark SQL memiliki abstraksi RDD yang dirancang untuk penyimpanan data dalam memori sedangkan Hive menggunakan HDFS Hadoop sebagai komponen penyimpanan data. Hive juga mendukung lebih banyak pernyataan SQL dibandingkan Spark SQL. Kesimpulan dari eksperimen-eksperimen waktu eksekusi kueri Spark SQL dan Hive adalah Spark SQL lebih cepat dalam mengerjakan kueri dibandingkan Hive.