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