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 merupakan bagian dari kursus
Dasar-Dasar PySpark
Instruksi 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 langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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()