2016-04-30 4 views
-1

I以下のDFがありますpyspark最高のamtで日付を検索します。

時間のLOC AMT
2012-07-20一時00分00秒3300
2012-01-04 17時29分〇〇秒B 300
2012から07をI出力日付をしたい-20午前1時00分00秒200
2012-01-04午後5時29分00秒B 500
2012-01-04午後5時29分00秒C 333

それは最高のamtを持っていた。

出力: 2012-07-20

がどのように私はこのpysparkを使用して行うのですか?

+1

(http://stackoverflow.com/questions/35218882/find-maximum-row-per-group-in-spark-dataframe)[スパークデータフレームのグループごとの最大行を検索]の可能な重複 – zero323

答えて

0

最初に最大値を収集してからフィルタリングするのはどうでしょうか?

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| 
+------------+