Anda di halaman 1dari 38

SPARK SQL, DATASETS, DAN

DATAFRAMES
Kelompok
Materi Pembelajaran
• Konfigurasi dan pemrograman di Databrick
• Bagaimana Data Frame dan Spark SQL melakukan pengolahan data
Tujuan Pembelajaran
• Mampu menggunakan databrick untuk menjalankan Apache Spark
• Mampu melakukan pengolahan data dengan Spark SQL and Spark
DataFrames
LET’S START!
Apakah Databrick itu?
• Databricks adalah perusahaan yang ditemukan oleh pendiri Apache
Spark yaitu Ali Ghodsi dengan tujuan untuk membantu klien dalam
melakukan komputasi big data berbasis cloud yang diproses
menggunakan spark.
• Databricks dikembangkan melalui proyek AMPLab di Universitas
California, Berkeley dimana di tempat tersebut Apache Spark juga
didirikan.
Konfigurasi DataBrick
1. Buat akun di Databricks Community Edition
https://https://community.cloud.databricks.com/
2. Pilih yang bagian Community Edition pada bagian pendaftaran.
3. Pilih tab clusters, lalu buat cluster baru dengan nama
DataFrame
• DataFrame adalah kumpulan data yang terdistribusi dan terorganisir
menjadi “named columns”. Secara konseptual, DataFrame sama
dengan table yang ada pada database relasional atau data frame
pada R/Python, tetapi dengan optimisasi yang lebih baik.
• DataFrames dapat dibentuk dari berbagai macam sumber data
seperti: data file terstruktur, table pada Hive, database eksternal,
atau RDD ng telah ada.
• API DataFrame tersedia di Scala, Java, Python dan R.
2 Operasi Pada DataFrame
• Select
• Digunakan untuk melakukan pengambilan data pada table tertentu dan
dikembalikan dalam bentuk result table.
• Contoh syntax menggunakan python: df.select("name").show()
• Print Schema
• Digunakan untuk mencetak skema database dengan mencetak atribut yang
ada pada tabel.
• Contoh Syntax menggunakan python: df.printSchema()
Kelebihan Dataframe
• DataFrame memberikan performa yang paling baik dan stabil apabila
pengembangan dilakukan menggunakan bahasa Scala.
Kelebihan Dataframe (Cont’d)
• Dataframe lebih efisien dalam penggunaan media penyimpanan
karena DataFrame API dibuat didalam mesin Spark SQL. DataFrame
menggunakan Catalyst untuk menghasilkan rencana query yang
teroptimasi baik dari sisi logical dan physical.
Kelebihan Dataframe (Cont’d)
• DataFrame memberikan abstraksi tingkat tinggi terhadap data dan
dapat memberikan custom view terhadap data yang terstruktur dan
data yang semi-terstruktur.
Transformasi
• Group By
• Digunakan untuk melakukan pengelompokan data berdasarkan kolom
tertentu.
• Contoh syntax apabila ingin menampilkan suatu nilai dan mengelompokannya
berdasarkan kolom A dan B menggunakan python:
grouped = df.groupby(['A', 'B'])
• Print Schema
• Digunakan untuk mencetak skema database dengan mencetak atribut yang
ada pada tabel.
• Contoh Syntax untuk memunculkan semua atribut beserta tipe datanya
menggunakan python:
df.printSchema()
Transformasi
• Filter
• Digunakan untuk melakukan penyaringan data dengan menampilkan data
dengan kriteria tertentu.
• Contoh syntax apabila ingin menampilkan orang dengan umur diatas 21
tahun menggunakan python:
df.filter(df['age'] > 21).show()
• Aggregate
• Digunakan untuk melakukan fungsi agregat (Max,Sum,Min) setelah data
dilakukan pengelompokan.
• Contoh: syntax yang digunakan untuk mendapatkan rata-rata usia orang yang
gajinya “>30.000.000”
dataframe.filter(df['salary']>30000000).agg({"age": "avg"})
Transformasi
• Order By
• Digunakan untuk melakukan pengurutan data secara ascending maupun
descending.
• Contoh syntax apabila ingin menampilkan jumlah penduduk dari terkecil
menuju terbesar baik laki-laki dan perempuan:
df1 = penduduk.sort(["L","P"], ascending=[1, 0])
Collect Vs Take
Definisinya :

take (n) : Return an array with the first n elements of the dataset.

collect ( ) : Return all the elements of the dataset as an array at the


driver program.
“This is usually useful after a filter or other operation that returns a
sufficiently small subset of the data”

rung mudeng senpai :


http://spark.apache.org/docs/latest/programming-guide.html
https://www.codementor.io/spark/tutorial/spark-python-rdd-basics
Cache
Salah satu bagian signifikan pada apache spark adalah
kemampuannya untuk menyimpan objek kedalam memori saat
melakukan komputasi. Cache meruapakan salah satu trik yang
digunakan untuk mempercepat akses ketika akan menggunakan tabel
tersebut berulang-ulang kali dan tidak menginginkan kompilasi data
yang lama setiap kali mengambill data dari tabel.
Untuk melakukann cukup ketikan nama query dan perintah cache:
df1.cache()
Apakah DataSQL itu?
dataSQL memungkinkan untuk query data terstruktur dalam program
Spark, baik menggunakan SQL atau API DataFrame.
Quiz!
1.Apakah Databrick itu?
a.Perusahaan yang bergerak dalam pengolahan big data berbasis cloud.
b.Perangkat lunak yang bergerak di bidang keamanan web
c.Perusahaan manufaktur perangkat elektronik.
d.Perusahaan konsultan penggunaan perangkat tenologi
e.Salah semua
2. Manakah dari penjelasan Databricks berikut yang benar?
a.Databrick bersifat offline dan tidak terintegrasi
b.Databrick didirikan oleh tim yang mendirikan Apache Spark
c.Databrick didirikan sejak tahun 2008
d.Databrick menggunakan C# sebagai bahasa utama yang digunakan.
e.Salah semua
3. Siapa penemu Databrick?
a.Ali Ghodsi
b.Gonzalo Higuain
c.Sami Khedira
d.Paulo Dybala
e.Patrice Evra
4. Dimana pengguna bisa menggunakan cloud service Databrick?
a.databrickcloud.com
b.community.databrick.com
c.cloud.databricks.com
d.databricks.com
e.community.cloud.databricks.com
5. Versi Databrick mana yang dapat digunakan untuk mempelajari
Databrick?
a.Full-Platform
b.Community Edition
c.Free-Trial Edition
d.Premium Edition
e.Cracked Edition
6. Berikut ini bahasa mana yang merupakan bagian dari API
DataFrames, Kecuali?
a.R
b.Scala
c.Java
d.C#
e.Python
7. Berikut ini bahasa mana yang dapat memberikan perfoma paling
baik serta stabil saat mengoperasikan DataFrames?
a.R
b.Scala
c.Java
d.C#
e.Python
8. Dataframe lebih efisien dalam penggunaan media penyimpanan
karena DataFrame API dibuat didalam mesin?
a.SparkSQL
b.Linux
c.MacOS
d.Windows
e.VMware
9. Syntax mana yang digunakan untuk mencetak skema database dengan
mencetak atribut yang ada pada tabel?
a.Filter
b.Group By
c.Aggregate
d.Print Schema
e.Order by
10. Syntax mana yang digunakan untuk melakukan pengurutan data
secara ascending maupun descending?
a.Filter
b.Group By
c.Aggregate
d.Print Schema
e.Order by
11. Dalam membuat cluster untuk databricks Community Edition, tersedia
memory sebesar . . .
a. 1 GB
b. 3 GB
c. 7 GB
d. 9 GB
e. 6 GB
12. Dalam databrick, ketika Anda tidak melakukan aktivitas apapun
selama 60 menit, maka cluster Anda secara otomatis akan mengalami
terminate. Lantas apa yang terjadi dengan notebook dan data table
yang sudah susah payah dibuat ?

a. notebook tetap tersimpan, namum data tablenya hilang


b. data table tersimpan, namun notebook hilang
c. data table dan notebook tetap tersimpan
d. notebook dan data table tersimpan namun isinya kosong
e. hanya notebook yang tersimpan, data table ada namun kosong
13. Jika data berupa notebook memang benar tersimpan, pada tab
menu apa kita dapat mengaksesnya?

a. databrick
b. home
c. workspace
d. table
e. cluster
14. Jika data berupa notebook memang tidak tersimpan, pada tab
menu apa kita dapat membuatnya kembali?

a. databrick
b. home
c. workspace
d. table
e. cluster
15. Jika data berupa table memang tersimpan, pada tab menu apa
kita dapat mengaksesnya?

a. databrick
b. home
c. workspace
d. table
e. cluster
16. Jika data berupa table memang tidak tersimpan, pada tab menu
apa kita dapat membuatnya kembali?

a. databrick
b. home
c. workspace
d. table
e. cluster
17. Setelah Anda melakukan upload data csv, apa yang perlu Anda
lakukan dan ingat-ingat sebelum membuat notebook (karna yang
terlewatkan tidak akan bisa kembali kita miliki lagi) ?

a. memberi nama table


b. memberi column delimiter
c. meng-copy nama table
d. meng-copy / menyalin directory DBFS
e. mengopi di Mak Ning Gebang
18. Zecara vizual, data dapat ditampilkan menggunakan bar chart. Di
bawah ini yang TIDAK termasuk pilihan bar chart yang ada dalam data
brick. . .

a. Bar
b. Area
c. Pie
d. Scatter
e. Stream graph
19. Sebagai orang yang murah hati Anda dapat berbagi source yang
sudah Anda buat, untuk melakukannya apa yang perlu dilakukan?

a. Menekan tombol publish pada lembar kerja notebook


b. Menambah list user pada tab menu home
c. Membagikan url tab menu home
d. Meng-copy tab menu home dan dimasukkan dalam intip.in
e. Menghubungi teman lewat social media
20. Di bawah ini manakah yang TIDAK termasuk dalam operasi
TRANSFORMASI

a. Group by
b. Print Schema
c. Filter
d. Aggregation
e. Order in

Anda mungkin juga menyukai