在 Spark 中转换 dd-MMM-yy 日期格式

Posted

技术标签:

【中文标题】在 Spark 中转换 dd-MMM-yy 日期格式【英文标题】:converting dd-MMM-yy date format in Spark 【发布时间】:2017-07-24 15:26:22 【问题描述】:

我有一个 Spark 数据框 (Scala API),其中包含一个名为 transfer date 的列,日期格式为 string,格式为 24-JUL-17

我想将它转换为日期字符串为时间戳。我该怎么做?

【问题讨论】:

【参考方案1】:

我找到了:

import org.apache.spark.sql.functions.unix_timestamp

val ts = unix_timestamp($"transfer date", "dd-MMM-yy").cast("timestamp")
dfs.withColumn("ts",ts).show()

【讨论】:

***.com/questions/40763796/…【参考方案2】:

也可以用to_timestamp(date_col, expr)完成

import org.apache.spark.sql.functions.to_timestamp

val df = date.withColumn("ts", to_timestamp($"transfer date", "dd-MMM-yy"))

现在 df 中的 ts 列是 timestamp 类型。

【讨论】:

我的数据框中有日期列,例如 ...01-01-2012 、 31-01-2012 ,如何转换为 01-Jan-2012 、 31-Jan-2012 格式?如何过滤这两个日期之间的数据???

以上是关于在 Spark 中转换 dd-MMM-yy 日期格式的主要内容,如果未能解决你的问题,请参考以下文章

在大查询中将 dd-mmm-yy 转换为 yyyy-mm-dd

Impala:将 dd-MMM-yy 字符串转换为 yyyy-mm-dd

Spark SQL日期中月份的大写缩写形式

在相邻单元格中找到的日期之后的十个工作日(不包括节假日)突出显示相邻单元格

将包含多种字符串日期格式的列转换为 Spark 中的 DateTime

dd-MMM-yy时间格式转换,Locale.US