spark sql-将日期从年月日转换为年月日

spark sql-将日期从年月日转换为年月日,sql,apache-spark,hive,apache-spark-sql,Sql,Apache Spark,Hive,Apache Spark Sql,我将日期转换为yyy格式的string,我想将其转换为yy-MMM-dd格式 i、 e.2018年1月14日应转换为2014年1月18日 以下代码将其转换为yyyy-mm-ddformta select to_date(FROM_UNIXTIME(unix_timestamp("Jan 14, 2018","MMM dd, yyyy"))) as date 但是,下面的代码返回null select to_date(FROM_UNIXTIME(unix_timestamp("Jan 14,

我将日期转换为
yyy
格式的
string
,我想将其转换为
yy-MMM-dd
格式

i、 e.
2018年1月14日
应转换为
2014年1月18日

以下代码将其转换为
yyyy-mm-dd
formta

select to_date(FROM_UNIXTIME(unix_timestamp("Jan 14, 2018","MMM dd, yyyy"))) as date 
但是,下面的代码返回null

select to_date(FROM_UNIXTIME(unix_timestamp("Jan 14, 2018","MMM dd, yyyy")), "yy-MMM-dd") as date 

使用
date\u格式
将日期转换为字符串:

> spark.sql("""select date_format(FROM_UNIXTIME(unix_timestamp("Jan 14, 2018","MMM dd, yyyy")), "yy-MMM-dd") as date""").show
+---------+
|     date|
+---------+
|18-Jan-14|
+---------+

使用
date\u格式
将日期转换为字符串:

> spark.sql("""select date_format(FROM_UNIXTIME(unix_timestamp("Jan 14, 2018","MMM dd, yyyy")), "yy-MMM-dd") as date""").show
+---------+
|     date|
+---------+
|18-Jan-14|
+---------+

在配置单元中,
to\u date
不接受格式参数。所需格式应该是来自\u unixtime的
参数

to_date(FROM_UNIXTIME(unix_timestamp("Jan 14, 2018","MMM dd, yyyy"), "yy-MMM-dd"))

请注意,只有在Hive版本2.1.0之前,才需要进行
到日期的转换,以转换
字符串
返回类型,因为更高版本返回的是
日期
类型。

在Hive中,
到日期
不接受格式参数。所需格式应该是来自\u unixtime
参数

to_date(FROM_UNIXTIME(unix_timestamp("Jan 14, 2018","MMM dd, yyyy"), "yy-MMM-dd"))
请注意,只有在Hive版本2.1.0之前,才需要进行
到日期的转换,以转换
字符串
返回类型,因为更高版本返回的是
日期
类型