我有一个从sql上下文构建的spark数据帧。
我使用DATE_FORMAT(time, 'Y/M/d HH:00:00') AS time_hourly
现在列类型是一个字符串。如何将字符串dataFrame列转换为datetime类型?
答案 0 :(得分:0)
您可以使用trunc(列日期,格式)来不丢失date数据类型。 有一个to_date函数可以将字符串转换为日期
答案 1 :(得分:0)
假设df是您的数据框,并且要转换的列名是time_hourly 您可以尝试以下方法:
from pyspark.sql.types import DateType
df.select(df.time_hourly.cast(DateType()).alias('datetime'))
欲了解更多信息,请参阅:
1)“cast()”的文档 https://spark.apache.org/docs/1.6.2/api/python/pyspark.sql.html
2)数据类型的文档 https://spark.apache.org/docs/1.6.2/api/python/_modules/pyspark/sql/types.html