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

Posted

技术标签:

【中文标题】在 sparksql 中将日期从字符串转换为日期【英文标题】:Converting date from string to date in sparksql 【发布时间】:2018-09-07 14:28:00 【问题描述】:

我有一个 sparksql 日期框架,其日期格式如下:“26MAR2015”。 在以下问题中,他们使用带有 java simpledataformat 的 to_date 函数: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()

【问题讨论】:

使用ddMMMyyyy,这可能是Convert pyspark string to date format的重复项 【参考方案1】:

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

例如,你可以这样做:

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

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

【讨论】:

以上是关于在 sparksql 中将日期从字符串转换为日期的主要内容,如果未能解决你的问题,请参考以下文章

将字符串转换为日期 SparkSQL

如何在 spark sql 连接条件中将字符串数据类型转换为日期:to_date 不起作用并且转换抛出错误

如何在 DataFrame 中将时间戳转换为日期格式?

在 PHP 中将日期时间从 SQL 转换为字符串

Scala - 如何在 Spark SQL 查询中将日期字符串转换为时间戳?

在 pyspark 问题中转换 24 小时日期格式