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

问题描述 投票:1回答:2

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

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

apache-spark spark-dataframe
2个回答
0
投票

您可以使用trunc(列日期,格式)来不丢失date数据类型。有一个to_date函数可以将字符串转换为日期


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的文档

© www.soinside.com 2019 - 2024. All rights reserved.