将Spark数据帧列从字符串转换为日期

时间:2016-08-18 13:49:33

标签: apache-spark spark-dataframe

我有一个从sql上下文构建的spark数据帧。 我使用DATE_FORMAT(time, 'Y/M/d HH:00:00') AS time_hourly

截断了一个日期时间字段

现在列类型是一个字符串。如何将字符串dataFrame列转换为datetime类型?

2 个答案:

答案 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

相关问题