2016-11-13 53 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"))