4

我使用sqlContext創建了一個數據框,並且由於它被標識爲字符串,所以我對日期時間格式有問題。如何將日期時間從字符串格式轉換爲pyspark中的日期時間格式?

df2 = sqlContext.createDataFrame(i[1]) 
df2.show 
df2.printSchema() 

結果:

2016-07-05T17:42:55.238544+0900 
2016-07-05T17:17:38.842567+0900 
2016-06-16T19:54:09.546626+0900 
2016-07-05T17:27:29.227750+0900 
2016-07-05T18:44:12.319332+0900 

string (nullable = true) 

由於日期時間模式是一個字符串,我想將其更改日期時間格式如下:

df3 = df2.withColumn('_1', df2['_1'].cast(datetime())) 

在這裏,我得到了一個錯誤: 類型錯誤:需要的參數'year'(pos 1)找不到

我應該怎麼做才能解決是問題嗎?

回答

1

試試這個:

from pyspark.sql.types import DateType 
ndf = df2.withColumn('_1', df2['_1'].cast(DateType())) 
+0

感謝Himaprasoon您有用的答案。現在我將日期時間從字符串格式轉換爲日期時間格式。你能幫我在這個相關的問題:http://stackoverflow.com/questions/39200189/vectorassembler-does-not-support-the-datetype-type-in​​-pyspark –

相關問題