2017-02-14 46 views
0

我是新來的spark。我需要在String中的火花數據框中更改日期格式。我需要刪除/以及00:00:00。我試圖用CAST(unix_timestamp(Column,Format))在Spark中使用scala顯示錯誤日期

to_date(unix_timestamp($"Date", "YYYY-MM-DD 00-00-00").cast("timestamp")) 

如預期,但與一些隨機的日期的格式正在發生變化。我發現問題與unix_timestamp 數據幀從CSV文件導入。我得到了一個使用正則表達式的解決方案,但它會更好地知道爲什麼它不工作。使用

代碼:(代碼可能不準確,但類似)

df.select(unix_timestamp($"Date", "MM-DD-YYYY hh:mm:ss").cast("timestamp"),$"Date") 

Sample Output:

+0

你使用哪個版本的Spark? – pheeleeppoo

+0

版本是1.6.2 –

回答

0

嘗試是這樣的:

df.select((unix_timestamp($"Date", "MM/dd/yyyy HH:mm:ss") * 1000).cast("timestamp"), $"Date") 

詳見here

+0

解釋downvote可能是有用的,以瞭解什麼是錯的。 – pheeleeppoo

+0

感謝您的回覆。當我使用yyyy-MM-dd HH:mm:ss時有效。那麼Caps MM:DD和mm:dd:yy有什麼區別? –