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.
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. 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. Group by
b. Print Schema
c. Filter
d. Aggregation
e. Order in