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 –

相关问题