如何使用PySpark Dataframe或PySpark SQL选择每组具有最大日期的记录?

时间:2019-10-25 16:25:41

标签: python sql dataframe apache-spark

我正在使用PySpark,并将数据加载到Dataframe中(并将其注册为表,以便可以在其上运行SQL查询)。
数据如下所示(第一个ID列是主键):

ID,c2,c3,date_time
11,12,13,10/20/2019 20:05
11,12,13,10/20/2019 21:05
11,12,13,10/20/2019 20:35
21,22,23,10/20/2019 19:05
21,22,23,10/20/2019 18:05
21,22,23,10/20/2019 19:35

如何以最快的方式和最少的内存/ CPU使用率选择仅具有MAX date_time的记录(实际表具有数以百万计的记录和20多个列)。

以上数据集的输出将只有2条记录,且记录的最大日期为:

11,12,13,10/20/2019 21:05
21,22,23,10/20/2019 19:35

谢谢。

0 个答案:

没有答案