我有一个从sql上下文构建的spark数据帧。我使用DATE_FORMAT(time, 'Y/M/d HH:00:00') AS time_hourly
截断了一个datetime字段
现在列类型是一个字符串。如何将字符串dataFrame列转换为datetime类型?
您可以使用trunc(列日期,格式)来不丢失date数据类型。有一个to_date函数可以将字符串转换为日期
假设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的文档