10 List Fungsi Built-In dalam Spark SQL Tutorial
Spark SQL memiliki built-in function yang bisa diakses oleh pengguna database. Tidak perlu diragukan lagi jika Spark SQL merupakan proyek paling sukses dan pernah dikerjakan oleh Apache Software Foundation. Spark SQL adalah modul yang ditujukan untuk memahami pemrosesan data secara struktural yang terbentuk di dalam inti dari Apache Spark.
Spark SQL adalah modul yang ditujukan untuk memahami pemrosesan data secara struktural yang terbentuk di dalam inti dari Apache Spark. Tidak heran jika Spark SQL memiliki fungsi yang lebih powerful dan bisa diaplikasikan untuk segala keperluan dalam pengolahan dan manipulasi data dalam Relational Database Management System atau yang biasanya disebut juga dengan RDBMS.
Spark SQL juga memiliki fungsi User-Defined Functions atau fungsi buatan pengguna yang saling terintegrasi. User Defined Function ini merupakan salah satu fitur Spark SQL yang digunakan dalam mendefinisikan fungsi baru berupa kolom sehingga mampu memperluas kosakata DSL dari SQL dan dapat mentransformasikan set data. Spark juga menyertakan lebih banyak fungsi bawaan yang kurang umum dan tidak didefinisikan di sini.
Sahabat DQ masih dapat mengaksesnya (dan semua fungsi yang didefinisikan di sini) menggunakan API functions.expr() dan memanggilnya melalui string ekspresi SQL. Pada artikel kali ini, kita akan membahas tentang 10 built-in functions yang disediakan oleh Spark SQL Tutorial. 10 built-in functions ini masing-masing dipakai sesuai dengan kebutuhan.
1. Row_Number
Fungsi ini digunakan untuk memberikan nomor baris berurutan mulai dari 1 hingga hasil setiap partisi dalam fungsi window pada Spark SQL.
Adapun format sintaks yang diketikkan sebagai berikut:
df.withColumn("row_number",row_number.over(windowSpec))
Baca juga : Saatnya Belajar SQL, Kenali Rekomendasi Query SQL Bagi Pemula
2. Rank
Fungsi ini digunakan untuk memberikan peringkat ke hasil dalam partisi jendela. Fungsi ini meninggalkan celah dalam peringkat ketika ada ikatan dalam fungsi window pada Spark SQL.
Adapun format sintaks yang diketikkan sebagai berikut:
df.withColumn("rank",rank().over(windowSpec))
3. Dense_Rank
Fungsi ini digunakan untuk mendapatkan hasil dengan peringkat baris dalam partisi jendela tanpa celah. Ini mirip dengan perbedaan fungsi rank() karena fungsi rank meninggalkan celah dalam peringkat ketika ada ikatan.
Adapun format sintaks yang diketikkan sebagai berikut:
df.withColumn("dense_rank",dense_rank().over(windowSpec))
4. Ntile
Fungsi ini digunakan untuk melakukan operasi pengembalian peringkat relatif dari baris hasil dalam partisi jendela. Dalam contoh di bawah ini kami telah menggunakan 2 sebagai argumen untuk function ntile sehingga mengembalikan peringkat antara 2 nilai yaitu 1 dan 2.
Adapun format sintaks yang diketikkan sebagai berikut:
df.withColumn("ntile",ntile(2).over(windowSpec))
5. Cume_dist
Fungsi ini digunakan untuk mendapatkan distribusi kumulatif nilai dalam partisi jendela.
Adapun format sintaks yang diketikkan sebagai berikut:
df.withColumn("cume_dist",cume_dist().over(windowSpec)
Baca juga : Catat! Ini 3 Keuntungan Belajar SQL dalam Mengolah Data
6. Ascii
Fungsi Ascii adalah fungsi yang menghitung nilai numerik dari karakter pertama kolom string, dan mengembalikan hasilnya sebagai kolom int.
Adapun format sintaks yang bisa diketikkan sebagai berikut:
Ascii(string)
7. Initcap
Sekilas mirip dengan fungsi uppercase dan lowercase. Fungsi Initcap adalah mengembalikan kolom string baru dengan mengonversi huruf pertama setiap kata menjadi huruf besar. Kata-kata dipisahkan oleh whitespace.
Misalnya, "hello world" akan menjadi "Hello World". Adapun format sintaks yang bisa diketikkan sebagai berikut:
Initcap (string)
8. Length
Fungsi length merupakan fungsi yang digunakan untuk menghitung panjang karakter dari string yang diberikan atau jumlah byte dari string biner. Adapun panjang string biner termasuk nol biner.
Adapun format sintaks yang bisa diketikkan sebagai berikut:
Length(string)
9. Substring_index
Fungsi ini digunakan untuk mengembalikan substring dari string str sebelum menghitung kemunculan delimiter. Ada beberapa ketentuan yang harus kamu perhatikan sahabat data DQLab apabila memakai function substring_index:
Apabila hasil perhitungan positif maka semua yang tersisa akan dihitung di bagian sebelah kiri dari pembatas akhir (final delimiter)
Apabila hasil perhitungan negatif juga yang tersisa akan di hitung sebelah kanan dari pembatas akhir
Substring_index melakukan pencocokan huruf besar dan kecil ketika mencari delim
Adapun format sintaks yang bisa diketikkan sebagai berikut:
substring (string, position[,length)
10.Translate
fungsi terakhir sekaligus fungsi ke-10 adalah fungsi Translate. Ada ketentuan yang juga perlu diperhatikan untuk memakai function ini.
Karakter di replaceString sesuai dengan karakter yang ada di matchingString
Terjemahan dimulai jika terjadi ketika karakter apapun dalam string cocok dengan karakter di matchingString
Adapun format sintaks yang bisa diketikkan sebagai berikut:
translate (input, from, to)
Menguasai SQL merupakan suatu kebutuhan bagi data analyst atau profesi praktisi data lainnya. Menjadi data analyst tidak hanya ditujukan kepada orang yang memiliki latar belakang pendidikan STEM, akan tetapi semua orang memiliki kesempatan menjadi data analyst. Jangan khawatir, kalian bisa memulai karir dengan belajar di DQLab lalu sign up dan belajar data analyst dari dasar.
Penulis: Reyvan Maulid