如何在pyspark中将日期时间从字符串格式转换为日期时间格式?

时间:2016-08-29 03:21:51

标签: datetime apache-spark pyspark spark-dataframe python-datetime

我使用sqlContext创建了一个数据框,我遇到了日期时间格式的问题,因为它被标识为字符串。

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)

由于datetime架构是一个字符串,我想将其更改为datetime格式,如下所示:

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

我在这里遇到了一个错误:     TypeError:必需参数'年份' (pos 1)未找到

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:2)

试试这个:

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