GIMANA MEMULAI KARIER JADI DATA ANALYST?
Simak caranya di webinar GRATIS dan raih DOORPRIZE menarik!
DAFTAR SEKARANG!
Pendaftaran ditutup dalam 1 Hari 1 Jam 26 Menit 43 Detik 

Kenali Tentang SQL Spark untuk Pengolahan Big Data Yuk!

Belajar Data Science di Rumah 06-Juni-2022
https://dqlab.id/files/dqlab/cache/f7709c9d7f5004f81b833a9910ebd56d_x_Thumbnail800.jpg

Apache Spark dikenal sebagai sebuah teknologi mesin yang dapat digunakan secara cepat, mudah untuk digunakan, dan serta bisa digunakan untuk melakukan pemrosesan data yang berukuran besar. Tidak bisa dipungkiri, Spark merupakan project yang paling susah yang pernah dikerjakan oleh Apache Software Foundation. Perkembangan teknologi yang menghasilkan data yang sangat besar secara terus menerus memang harus diimbangi dengan adanya teknologi seperti Apache Spark ini, dimana software ini memang dirancang untuk mempercepat komputasi.


Apache Spark memiliki modul bawaan untuk streaming, SQL, Machine Learning (ML) serta pemrosesan grafik. Diakui atau tidak, teknologi ini merupakan keterampilan yang dibutuhkan oleh para praktisi data seperti Data Engineer. Namun tidak menutup kemungkinan juga jika para Data Scientist juga bisa mendapatkan manfaat dari mempelajari Spark saat melakukan Analisis Data Eksplorasi (EDA), ekstraksi fitur, dan tentu saja ML. 


Dalam artikel ini kita akan membahas hal-hal menarik mengenai SQL Spark yang mungkin terdengar agak asing bagi sebagian pemula. Penasaran kan? Yuk langsung saja kita simak artikelnya!


1. SQL Spark

SQL

Spark SQL merupakan salah satu modul yang ada di dalam Apache Spark. Dimana Spark SQL ini akan digunakan untuk memahami bagaimana cara pemrosesan data yang dilakukan secara struktural. Spark SQL mengintegrasikan pemrosesan relasional dengan pemrograman fungsional Spark. Ini memberikan dukungan untuk beberapa sumber data dan memungkinkan untuk menenun kueri SQL dengan transformasi kode yang menghasilkan alat yang sangat kuat.


Struktur utama dari Spark SQL ini berupa data frame yang diinputkan dalam kumpulan RDD dan row. RDD sendiri memang dirancang agar bisa mendukung penyimpanan data dalam memori kemudian mendistribusikannya ke seluruh cluster dengan cara yang efektif dan efisien.


Baca juga : Saatnya Belajar SQL, Kenali Rekomendasi Query SQL Bagi Pemula


2. Fitur yang Tersedia di SQL Spark

SQL

Di dalam SQL Spark, ada beberapa fitur yang bisa kamu manfaatkan untuk bisa membuat proses pengolahan data mu menjadi lebih efektif, diantaranya adalah:

  • Terintegrasi dengan Spark, dimana Spark membiarkan para user nya untuk mendapatkan data terstruktur dari program Spark yang menggunakan SQL atau DataFrame API. Dalam hal ini, kita bisa memanfaatkan bahasa pemrograman lain seperti Scala, Python, Java serta R.

  • Adanya penyeragam akses data, dimana data yang bersumber dari Hive Avro, Parket, ORC, JSON, dan JDBC bisa digabungkan dengan menggunakan SQL.

  • Konektivitas dengan Business Intelligence Tools. SQL dapat digunakan untuk memberikan koneksi antara JDBC dan ODBC yang merupakan tools BI, kemudian Spark SQL digunakan untuk menggabungkan alat tersebut untuk melakukan optimasi. 

  • Menjalankan query Hive yang tidak termodifikasi

  • Memiliki fungsi User-Defined Functions (UDF) yang dapat digunakan untuk memperluas kosakata DSL dari SQL dan dapat mentransformasikan set data.


3. Mengapa Spark SQL Dibutuhkan?

sql

Mungkin banyak diantara kamu yang sudah pernah menggunakan tools untuk mengolah big data bertanya, mengapa memilih menggunakan Spark dibandingkan dengan Hive yang juga merupakan tools pengolahan big data. Awalnya lahirnya Spark SQL memang lahir dari Apache Hive yang memiliki kelemahan. Sehingga Spark SQL ini memang dibangun untuk mengatasi kelemahan yang dimiliki oleh Apache Hive. beberapa kelemahan yang dimiliki oleh Hive diantaranya adalah:

  • Hive meluncurkan pekerjaan MapReduce secara internal untuk menjalankan query ad-hoc. MapReduce mulai mengalami lags ketika digunakan untuk menganalisis dataset yang berukuran sedang (10 hingga 200 GB).

  • Hive tidak memiliki kemampuan resume. Artinya, jika pemrosesan mati di tengah workflow, kita tidak dapat melanjutkan dan akan tetap stuck disitu.

  • Hive tidak dapat men-drop database yang terenkripsi di cascade saat trash diaktifkan dan menyebabkan kesalahan eksekusi.

Selain itu, Spark SQL dapat bekerja lebih cepat daripada Hive dalam hal kecepatan pemrosesan. 


4. Library SQL Spark

sql

Ada 4 library yang digunakan di Spark SQL, yaitu:

1. Data Source API (Application Programming Interface):

Ini adalah API universal untuk memuat dan menyimpan data terstruktur.

  • Memiliki dukungan bawaan untuk Hive, Avro, JSON, JDBC, Parket, dll.

  • Mendukung integrasi pihak ketiga melalui paket Spark

  • Dukungan untuk smart source.

  • Ini adalah Data Abstraction and Domain Specific Language (DSL) yang berlaku untuk data terstruktur dan semi-terstruktur.

  • DataFrame API adalah kumpulan data terdistribusi dalam bentuk kolom dan baris bernama.

  • Dievaluasi dengan lazy evaluation seperti Apache Spark Transformations dan dapat diakses melalui SQL Context dan Hive Context.

  • Memproses data dalam ukuran Kilobyte ke Petabytes pada cluster single-node ke cluster multi-node.

  • Mendukung berbagai format data (Avro, CSV, Elastic Search, dan Cassandra) dan sistem penyimpanan (HDFS, HIVE Tables, MySQL, dll.).

  • Dapat dengan mudah diintegrasikan dengan semua alat dan kerangka kerja Big Data melalui Spark-Core.

  • Menyediakan API untuk Pemrograman Python, Java, Scala, dan R.


2. Data Frame API

DataFrame merupakan kumpulan data terdistribusi yang diatur ke dalam kolom bernama. Ini setara dengan tabel relasional dalam SQL yang digunakan untuk menyimpan data ke dalam tabel.

3. SQL Interpreter and Optimizer

SQL Interpreter and Optimizer didasarkan pada pemrograman fungsional yang dibangun di Scala.

  • Merupakan komponen Spark SQL yang terbaru dan paling berkembang secara teknis.

  • Menyediakan kerangka kerja umum untuk mengubah pohon, yang digunakan untuk melakukan analisis/evaluasi, optimasi, perencanaan, dan menjalankan kode waktu.

  • Ini mendukung pengoptimalan berbasis biaya (waktu berjalan dan pemanfaatan sumber daya disebut sebagai biaya) dan pengoptimalan berbasis aturan, membuat queri berjalan jauh lebih cepat daripada RDD (Resilient Distributed Dataset).


4. SQL Service

SQL Service menjadi entry point untuk bekerja bersama dengan data terstruktur di Spark. Ini memungkinkan pembuatan objek DataFrame serta eksekusi queri SQL.


Baca juga : Catat! Ini 3 Keuntungan Belajar SQL dalam Mengolah Data


Wah, seru banget kan belajar salah satu teknologi yang banyak digunakan untuk mengolah big data. Namun sebelum masuk ke tingkat advance tersebut, ada baiknya hal-hal yang bersifat fundamental dari SQL loh.


Eits, kamu gak perlu bingung harus belajar SQL dimana karena DQLab juga menyediakan modul SQL yang sangat cocok bagi pemula karena membahas hal-hal yang bersifat fundamental. Agar bisa mengaksesnya, kamu cukup berlangganan untuk menjadi member premium di DQLab


Yuk, tunggu apa lagi? Sekarang giliran mu!

Penulis: Gifa Delyani Nursyafitri


Sign Up & Mulai Belajar Gratis di DQLab!