首页 > 解决方案 > Spark 将 TimestampType 转换为格式为 yyyyMMddHHmm 的字符串

问题描述

在我的数据框中,我有一列 TimestampType 格式为“2019-03-16T16:54:42.968Z”我想将其转换为格式为“201903161654”的 StringType 列,而不是通用时间戳列。这是因为我需要根据字符串格式的时间戳对多个目录进行分区,如果我在时间戳列上进行分区,它会在创建目录时创建特殊字符。

我可以在 spark 中使用任何 api 将 Timestamp 列转换为具有上述格式的字符串类型吗?

标签: scalaapache-sparktimestampdatetime-formatdatetime-conversion

解决方案


使用date_format功能:date_format(date/timestamp/string ts, string fmt)

将日期/时间戳/字符串转换为日期格式指定格式的字符串值fmt。支持的格式是Java SimpleDateFormat 格式。第二个参数fmt应该是常数。示例:date_format('2015-04-08', 'y')"2015".


推荐阅读