Apache Spark 查询仅在 YEAR 上来自“dd/mm/yyyy”格式

Posted

技术标签:

【中文标题】Apache Spark 查询仅在 YEAR 上来自“dd/mm/yyyy”格式【英文标题】:Apache Spark Query only on YEAR from "dd/mm/yyyy" format 【发布时间】:2017-02-12 02:50:52 【问题描述】:

我在 excel 文件中有超过 100 万条记录。我想使用python查询表格,但日期格式是dd/mm/yyyy。我知道在 mysql 中支持的格式是yyyy-mm-dd。我仅限于更改日期格式。有没有可能我可以在运行时做到这一点。只需从dd/mm/yyyy 查询yyyy 并获取记录。

我如何只在Year而不是月份或日期上查询这种格式来获取数据?

【问题讨论】:

我不太确定你在问什么,但我想你正在寻找this 'select * from TABLE where year(date) = 2016' ?我链接的页面为您提供了各种弄乱日期的方法 @Nullman 我已经尝试过了。它不适用于dd/mm/yyyy 格式。我认为它需要yyyy-mm-dd 格式。 哦,我明白了。您是否尝试使用 substring() 和 concat() 更改格式? 【参考方案1】:

假设“日期”是作为字符串接收的,那么RIGHT(date, 4) 将只给出年份。

(如果您只需要数据,我认为不需要重新格式化字符串。否则请参阅STR_TO_DATE()

【讨论】:

以上是关于Apache Spark 查询仅在 YEAR 上来自“dd/mm/yyyy”格式的主要内容,如果未能解决你的问题,请参考以下文章

Spark SQL 查询:org.apache.spark.sql.AnalysisException

通过 C# 的 Apache Spark 查询 [关闭]

将 RDD 中的 JSON 行转换为 Apache Spark 中的数据帧

九十Spark-SparkSQL(查询sql)

加入期间的意外行为(仅在将列 'year' 重命名为 'year' 时才有效)否则将失败并显示“package.TreeNodeException:执行树”

Apache Spark:我如何理解和控制我的查询是在 Hive 引擎还是 Spark 引擎上执行的?