2016-08-29 7 views
2

私は日付と時刻のカラムdateとlast_updated_dateを変換するためのコードを書こうとしていますが、実際にはunixタイムキャストは "mm-dd-yyyy"これはどうすればいいですか?Scala Spark:データフレーム内の二重カラムを日付の時間カラムに変換する

import org.joda.time._ 
import scala.tools._ 
import org.joda.time.format.DateTimeFormat._ 
import java.text.SimpleDateFormat 
import org.apache.spark.sql.functions.{unix_timestamp, to_date} 
root 
|-- date: double (nullable = false) 
|-- last_updated_date: double (nullable = false) 
|-- Percent_Used: double (nullable = false) 

+------------+---------------------+------------+ 
|  date| last_updated_date|Percent_Used| 
+------------+---------------------+------------+ 
| 1.453923E12|  1.47080394E12| 1.948327124| 
|1.4539233E12|  1.47080394E12| 2.019636442| 
|1.4539236E12|  1.47080394E12| 1.995299371| 
+------------+---------------------+------------+ 

答えて

1

タイムスタンプにキャスト:

df.select(col("date").cast("timestamp")); 
+0

日は「長い」であり、それがあるので、うーん、私はこれでいくつかの問題があると思いますこれを直接行うときに日付が突然消えてしまう –

1

from_unixtimeを使用して、タイムスタンプに変換します

df.select(from_unixtime("date").as("date")) 
関連する問題