4

Я создал dataframe с использованием sqlContext, и у меня есть проблема с форматом datetime, поскольку он идентифицируется как строка.Как преобразовать datetime из строкового формата в формат datetime в 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())) 

Здесь я получил ошибку: TypeError : Требуемый аргумент «год» (позиция 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 –

Смежные вопросы