【问题标题】:How to load date with custom format in Spark如何在 Spark 中以自定义格式加载日期
【发布时间】:2021-05-20 21:57:03
【问题描述】:

我有一个场景,我有一个像 "Tuesday, 09-Aug-11 21:13:26 GMT" 这样的列数据,我想在 Spark 中创建一个架构,但数据类型 TimestampTypeDateType 无法识别这种日期格式。

使用TimestampTypeDateType 将数据加载到数据框后,我在该特定列中看到NULL 值。

有没有其他选择?

【问题讨论】:

    标签: scala apache-spark apache-spark-sql


    【解决方案1】:

    一种选择是将“星期二,2011 年 8 月 11 日 21:13:26 GMT”作为字符串类型列,并从字符串转换为时间戳,如下所示。

    df.show(truncate=false)
    +-------------------------------+
    |dt                             |
    +-------------------------------+
    |Tuesday, 09-Aug-11 21:13:26 GMT|
    +-------------------------------+
    
    
    df.withColumn("dt",to_timestamp(col("dt"),"E, d-MMM-y H:m:s z")).show(truncate=false) //Note -  It is converted GMT to IST local timezone.
    
    +-------------------+
    |dt                 |
    +-------------------+
    |2011-08-10 02:43:26|
    +-------------------+
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-23
      • 1970-01-01
      • 2020-04-13
      • 2019-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-06
      相关资源
      最近更新 更多