如何在pyspark中将日期时间从字符串格式转换为日期时间格式?
How to convert datetime from string format into datetime format in pyspark?
我使用 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)
由于日期时间模式是一个字符串,我想将其更改为日期时间格式,如下所示:
df3 = df2.withColumn('_1', df2['_1'].cast(datetime()))
这里我得到一个错误:
TypeError: 必需参数 'year' (pos 1) 未找到
我应该怎么做才能解决这个问题?
试试这个:
from pyspark.sql.types import DateType
ndf = df2.withColumn('_1', df2['_1'].cast(DateType()))
我使用 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)
由于日期时间模式是一个字符串,我想将其更改为日期时间格式,如下所示:
df3 = df2.withColumn('_1', df2['_1'].cast(datetime()))
这里我得到一个错误: TypeError: 必需参数 'year' (pos 1) 未找到
我应该怎么做才能解决这个问题?
试试这个:
from pyspark.sql.types import DateType
ndf = df2.withColumn('_1', df2['_1'].cast(DateType()))