PROMO PAYDAY! SERBU PAKET DATA SCIENCE 3 BULAN CUMA 100K!
Diskon Spesial 95% Belajar Data Science Bersertifikat
SERBU DISINI!
Pendaftaran ditutup dalam 0 Hari 21 Jam 27 Menit 56 Detik 

10 List Fungsi Built-In dalam Spark SQL Tutorial

Belajar Data Science di Rumah 02-Oktober-2022
https://dqlab.id/files/dqlab/cache/12c6a9b64860c3300c6e0af145cc67d2_x_Thumbnail800.jpeg

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. 

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. 

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. 

SQL

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.

SQL

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.

SQL

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. 

SQL

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. 

SQL

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. 

SQL

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

SQL

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

SQL

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


Mulai Belajar
Data Science Sekarang
Bersama DQLab

Buat Akun Belajarmu & Mulai Langkah
Kecilmu Mengenal Data Science.

Buat Akun Gratis Dengan :

https://dqlab.id/files/dqlab/file/data-web-1/data-user-2/50040333a3a5d46bf130664e5870ebc6/8be7fae4b69abead22aa9296bcab7b4b.jpg Sign-Up dengan Google

https://dqlab.id/files/dqlab/file/data-web-1/data-user-2/50040333a3a5d46bf130664e5870ebc6/d0aa879292fb427c0978d2a12b416e98.jpg Sign-Up dengan Facebook

Atau Buat Dengan :