2016-08-18 78 views
1

我有一個從sql上下文構建的spark數據框。 我使用DATE_FORMAT(time, 'Y/M/d HH:00:00') AS time_hourly從字符串轉換Spark數據幀列到日期

截斷日期時間字段現在列類型是一個字符串。如何將字符串dataFrame列轉換爲datetime類型?

回答

0

您可以使用trunc(列日期,格式)不丟失日期數據類型。 有一個TO_DATE函數將字符串轉換爲日期

+0

我試過'trunc(列日期,格式)',它在**格式爲「MONTH」時有效** **當**格式爲「HOUR」時返回null ** - 我該怎麼辦? – Owen

+0

您能否發表您試用的樣本數據 – Hari

+0

我認爲這對您有幫助 myData.selectExpr(「timestamp(from_unixtime(unix_timestamp(date_format(ts,'Y/M/d HH:00:00'),'Y/M/d HH:MM:SS')))作爲dt_formatted「) 結果: ====== 根 | - dt_formatted:時間戳(可爲空=真) + ----- --------------- + | dt_formatted | + -------------------- + | 2015-12-27 05:00:... | + -------------------- + – Hari