Tổng hợp (Aggregating)
Tất cả các phương thức tổng hợp phổ biến như .min(), .max() và .count() đều là các phương thức của GroupedData. Chúng được tạo ra bằng cách gọi phương thức .groupBy() trên DataFrame. Bạn sẽ học chính xác điều đó có nghĩa là gì trong vài bài tập tới. Hiện tại, để dùng các hàm này, bạn chỉ cần gọi phương thức đó trên DataFrame của mình. Ví dụ, để tìm giá trị nhỏ nhất của một cột col trong DataFrame df, bạn có thể làm:
df.groupBy().min("col").show()
Lệnh này tạo một đối tượng GroupedData (để bạn có thể dùng phương thức .min()), sau đó tìm giá trị nhỏ nhất trong col và trả về dưới dạng một DataFrame.
Giờ thì bạn đã sẵn sàng tự thực hành tổng hợp rồi!
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ìm độ dài của chuyến bay ngắn nhất (tính theo khoảng cách) rời PDX bằng cách
.filter()trước rồi dùng phương thức.min(). Hãy lọc bằng cách tham chiếu trực tiếp đến cột, không truyền một chuỗi SQL. - Tìm độ dài của chuyến bay dài nhất (tính theo thời gian) rời SEA bằng cách
filter()rồi dùng phương thức.max(). Hãy lọc bằng cách tham chiếu trực tiếp đến cột, không truyền một chuỗi SQL.
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.
# Find the shortest flight from PDX in terms of distance
flights.filter(____.____ == ____).groupBy().____(____).show()
# Find the longest flight from SEA in terms of air time
flights.filter(____).groupBy().____.show()