2016-11-13 48 views
0

我有一個數據幀那樣:排序火花數據幀的列按日期

+---+-------------------+ 
|C1 |  C2   | 
+---+-------------------+ 
| A |21/12/2015-17-14-12| 
| A |21/12/2011-20-12-44| 
| B |11/02/2015-15-31-11| 
| B |09/04/2015-13-38-05| 
| C |11/06/2013-23-04-35| 
+---+-------------------+ 

第二列是時間戳DD/MM/YYYY-HH-MM-SS。我想按照那樣排列每一行

+---+-------------------+ 
|C1 |  C2   | 
+---+-------------------+ 
| A |21/12/2011-20-12-44| 
| C |11/06/2013-23-04-35| 
| B |11/02/2015-15-31-11| 
| B |09/04/2015-13-38-05| 
| A |21/12/2015-17-14-12| 
+---+-------------------+ 

也許我必須使用Udf?你有什麼想法嗎?

回答

1

一個簡單的單線是你所需要的。所需進口

import org.apache.spark.sql.functions.unix_timestamp 

,代碼:

input.sort(unix_timestamp($"C2", "dd/MM/yyyy-HH-mm-ss"))