Pengelompokan dan Agregasi I
Salah satu hal yang membuat agregasi begitu kuat adalah penambahan kelompok. PySpark memiliki satu kelas khusus untuk DataFrame berkelompok: pyspark.sql.GroupedData, yang telah Anda lihat pada dua latihan terakhir.
Anda telah mempelajari cara membuat DataFrame berkelompok dengan memanggil metode .groupBy() pada sebuah DataFrame tanpa argumen.
Sekarang Anda akan melihat bahwa ketika Anda meneruskan satu atau lebih nama kolom dalam DataFrame Anda ke metode .groupBy(), metode agregasi berperilaku seperti saat Anda menggunakan pernyataan GROUP BY dalam kueri SQL!
Ingat, sebuah SparkSession bernama spark sudah tersedia di ruang kerja Anda, bersama dengan Spark DataFrame flights.
Latihan ini adalah bagian dari kursus
Dasar-Dasar PySpark
Petunjuk latihan
- Buat DataFrame bernama
by_planeyang dikelompokkan berdasarkan kolomtailnum. - Gunakan metode
.count()tanpa argumen untuk menghitung jumlah penerbangan yang dilakukan setiap pesawat. - Buat DataFrame bernama
by_originyang dikelompokkan berdasarkan kolomorigin. - Cari
.avg()dari kolomair_timeuntuk mendapatkan durasi rata-rata penerbangan dari PDX dan SEA.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Group by tailnum
by_plane = flights.groupBy("____")
# Number of flights each plane made
by_plane.____.show()
# Group by origin
by_origin = flights.groupBy("____")
# Average duration of flights from PDX and SEA
by_origin.avg("____").show()