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

4

我使用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: 缺少必要参数 'year' (位置为 1)

我该如何解决这个问题?

1个回答

4

试试这个:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接