【发布时间】:2016-04-30 06:05:24
【问题描述】:
我有以下df:
时间地点
2012-07-20 01:00:00 A 3300
2012-01-04 17:29:00 B 300
2012-07-20 01:00:00 A 200
2012-01-04 17:29:00 B 500
2012-01-04 17:29:00 C 333
我想输出 amt 最高的日期。
输出: 2012-07-20
如何使用 pyspark 做到这一点?
【问题讨论】:
我有以下df:
时间地点
2012-07-20 01:00:00 A 3300
2012-01-04 17:29:00 B 300
2012-07-20 01:00:00 A 200
2012-01-04 17:29:00 B 500
2012-01-04 17:29:00 C 333
我想输出 amt 最高的日期。
输出: 2012-07-20
如何使用 pyspark 做到这一点?
【问题讨论】:
先收集最大值再过滤怎么样?
max_amt = df.select(max(df.amt)).collect()[0][0]
df.filter(df.amt == lit(max_amt)).select(to_date('time')).show()
+------------+
|todate(time)|
+------------+
| 2012-07-20|
+------------+
【讨论】: