将字符串格式更改为日期

时间:2018-11-27 09:45:27

标签: apache-spark apache-spark-sql

我需要将字符串更改为日期格式'YYYY-MM-DD'
输入数据为

ClientSession

像这样的字符串类型,需要输出为

20180716
20180912

上述输出的查询是

2018-07-16
2018-09-12

spark.sql("""select TO_DATE(CAST(UNIX_TIMESTAMP(MYDAT, 'yyyyMMdd') AS TIMESTAMP)) AS reg_datefrom Table  """)

但是当我在下面编写代码时,它的工作原理。

reg_date
null    
null    
null    
null    
null

我在哪里做错。

2 个答案:

答案 0 :(得分:0)

在Spark中,我们可以通过传递传递给TO_DATE('20180811', 'yyyyMMdd')函数的字符串值的日期格式并将日期返回为TO_DATE

来编写yyyy-MM-dd函数

答案 1 :(得分:0)

我尽力尝试了一下,现在可以了,但是我发现查看您的摘要有两种可能性

  1. 请检查您的MYDAT列是否为字符串
  2. 在您的查询中reg_datefrom被合并,将其分隔