在SparkSQL中将日期从字符串转换为日期

时间:2018-09-07 14:28:01

标签: python pyspark apache-spark-sql

我有一个带有以下格式的日期的sparksql日期框架:“ 26MAR2015”。 在以下问题中,他们将 to_date 函数与java simpledataformat结合使用:Convert date from String to Date format in Dataframes将日期转换为字符串。在以下问题中,我找不到有关此格式的更多信息:Convert pyspark string to date format

我找不到适合我的情况的正确格式:

spark.sql("""
SELECT TO_DATE(CAST(UNIX_TIMESTAMP('15MAR2015', '??????') AS TIMESTAMP)) AS newdate"""
).show()

1 个答案:

答案 0 :(得分:2)

您应使用ddMMMyyyy作为格式字符串。

例如,您可以这样做:

spark.sql("""
SELECT CAST(FROM_UNIXTIME(UNIX_TIMESTAMP('15MAR2015', 'ddMMMyyyy')) AS date) AS newdate"""
).show()
#+----------+
#|   newdate|
#+----------+
#|2015-03-15|
#+----------+

您可以找到有关Java SimpleDateFormat here的更多信息。