首页 > 解决方案 > 迄今为止的pyspark字符串

问题描述

我正在尝试将字符串转换为日期格式,日期列按这样的顺序包含数据,但这是字符串数据类型

20191130
20191231

使用字符串到日期时,日期应显示为

2019-11-31
2019-12-31
  1. 我尝试了这种方法,但脚本返回错误

     df = spark.sql('select * from tablename) 
     df2 = df.withColumn('Date', expr("cast(as_of_date,'yyyyMMdd) as date")) 
    
  2. 我也试过这个脚本,它可以工作,但是,有了这个,它显示的日期和时间不是我想要的

    df2 = df.withColumn("Date",expr("cast(unix_timestamp(as_of_date ,'yyyyMMdd') as date)")).show() 
    

标签: pythonapache-sparkpysparkapache-spark-sql

解决方案


尝试使用to_date

df2 = df.withColumn('Date', to_date(col('as_of_date'), 'yyyyMMdd'))

推荐阅读