Nhóm và Tổng hợp I
Một phần sức mạnh của việc tổng hợp đến từ khả năng thêm các nhóm. PySpark có hẳn một lớp dành cho DataFrame đã được nhóm: pyspark.sql.GroupedData, mà bạn đã thấy trong hai bài tập trước.
Bạn đã học cách tạo một DataFrame đã nhóm bằng cách gọi phương thức .groupBy() trên một DataFrame mà không truyền đối số.
Giờ bạn sẽ thấy rằng khi truyền tên một hoặc nhiều cột trong DataFrame vào phương thức .groupBy(), các phương thức tổng hợp sẽ hoạt động giống như khi bạn dùng câu lệnh GROUP BY trong truy vấn SQL!
Lưu ý, một SparkSession tên là spark đã có sẵn trong không gian làm việc của bạn, cùng với Spark DataFrame flights.
Bài tập này là một phần của khóa học
Nền tảng về PySpark
Hướng dẫn bài tập
- Tạo một DataFrame tên
by_planeđược nhóm theo cộttailnum. - Dùng phương thức
.count()không truyền đối số để đếm số chuyến bay mà mỗi máy bay đã thực hiện. - Tạo một DataFrame tên
by_originđược nhóm theo cộtorigin. - Tính
.avg()của cộtair_timeđể tìm thời lượng trung bình của các chuyến bay xuất phát từ PDX và SEA.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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()