在SparkSQL中将dd-mmm-yyyy转换为yyyy-mm-dd

问题描述

我在胶水表中有一个格式为'dd-mmm-yyyy'(Example31-Mar-2020)的日期值。我需要使用sparksql将其转换为'yyyy-mm-dd'(输出:2020-03-31)格式。

我尝试过。 “ date_format(reference_line_attribute3,'yyyy-mm-dd')”,但这只是将null作为输出

请帮助。 谢谢

解决方法

这应该可以解决问题

df.withColumn("newDate",date_format(
               to_date($"reference_line_attribute3","dd-MMM-yyyy"),"yyyy-MM-dd"))

输出

+-------------------------+----------+
|reference_line_attribute3|   newDate|
+-------------------------+----------+
|              31-Mar-2020|2020-03-31|
+-------------------------+----------+