1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Nhập môn Spark SQL bằng Python

Connected

Bài tập

Gộp cùng một cột hai lần

Có những trường hợp dùng dot notation sẽ rườm rà hơn SQL. Bài tập này tính thời điểm đầu và cuối cho mỗi tuyến tàu. Đoạn mã sau thực hiện điều đó bằng dot notation.

from pyspark.sql.functions import min, max, col
expr = [min(col("time")).alias('start'), max(col("time")).alias('end')]
dot_df = df.groupBy("train_id").agg(*expr)
dot_df.show()
+--------+-----+-----+
|train_id|start|  end|
+--------+-----+-----+
|     217|6:06a|6:59a|
|     324|7:59a|9:05a|
+--------+-----+-----+

Nhiệm vụ của bạn là đạt được kết quả tương tự bằng một truy vấn SQL. DataFrame df đã được đăng ký thành một bảng tên là schedule.

Hướng dẫn

100 XP
  • Viết một truy vấn SQL cho kết quả giống hệt truy vấn dùng dot notation.