16. scala spark sql 将yyyymmdd的字符串转为yyyy-mm-dd日期类型:

16.

scala spark sql 将yyyymmdd的字符串转为yyyy-mm-dd日期类型:

伪代码

#openingHours 19970413000000

select(date_format(unix_timestamp(substring($"openingHours",1,8), "yyyyMMdd").cast("timestamp"), "yyyy-MM-dd").alias("approveDate")
)

spark.sql("""
          SELECT DATE_FORMAT(
                   CAST(UNIX_TIMESTAMP('20161025', 'yyyyMMdd') AS TIMESTAMP), 'yyyy-MM-dd')
          """)

#如果传的日期是整型,需要使用cast转换成string
# date 20161025 
spark.sql("""
          SELECT DATE_FORMAT(
                   CAST(UNIX_TIMESTAMP(cast(date as string), 'yyyyMMdd') AS TIMESTAMP), 'yyyy-MM-dd')
          """)

此贴来自汇总贴的子问题,只是为了方便查询。

总贴请看置顶帖:

pyspark及Spark报错问题汇总及某些函数用法。

https://blog.csdn.net/qq0719/article/details/86003435

 

你可能感兴趣的:(Spark)