我有一个spark数据框架,我从sql上下文构建。我使用DATE_FORMAT(time, 'Y/M/d HH:00:00') AS time_hourly
现在列类型是字符串。如何将字符串dataFrame列转换为日期时间类型?
您可以使用trunc(列日期,格式)来不丢失日期数据类型。有一个to_date函数用于将字符串转换为日期
假设df是您的数据框架,要强制转换的列名是time_hour您可以尝试以下操作:
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