Spark SQL中对此Pandas操作的相应查询是什么?

时间:2017-07-18 10:04:02

标签: sql pyspark pyspark-sql

我有一个数据框df,有5列

student_id
course_id
course_date
attendance_id

这些列都不是唯一的,但student_idattendance_id的组合将是唯一的。我想通过选择最早的course_date来创建一个对new_df唯一的新数据框student_id。在熊猫,我这样做:

new_df = df.groupby(['student_id']).apply(lambda x: x.nsmallest(1,'course_date')).reset_index(drop=1)

如果df有1600行,1000个不同的student_id,那么new_df将有1000行,1000个不同的student_id。

如何在Spark SQL或普通SQL中执行此操作?

1 个答案:

答案 0 :(得分:0)

尝试类似:

SELECT student_id, min(course_date)
FROM table_name
GROUP BY student_id