Spark bug:java.lang.IllegalArgumentException: Illegal pattern component: XXX 解决办法

一.特点:

1.此问题经常出现在spark2.1.x升级到spark2.2.x的时候出现。比如通过maven构建spark环境的时候,依赖maven进行版本升级。

2.此问题出现在调用spark.read.json或者csv的时候出现。

二.原因

maven升级的时候,没有自动加载完整依赖包,jsonAPI对于timeStampFormat有特殊需求,默认为

`yyyy-MM-dd'T'HH:mm:ss.SSSXXX`这种格式,是无法被scala-lang包识别的。
* 
  • `timestampFormat` (default `yyyy-MM-dd'T'HH:mm:ss.SSSXXX`): sets the string that * indicates a timestamp format. Custom date formats follow the formats at * `java.text.SimpleDateFormat`. This applies to timestamp type.
  • 三.解决方式

    方法一:修改option选项修改默认的timeStampFormat

    spark.read.json
    .option("timestampFormat", "yyyy/MM/dd HH:mm:ss ZZ")
    .load

    方法二:手动增加lang包的依赖,在pom文件里面增加:

    
          org.apache.commons
          commons-lang3
          3.5
    

     

    你可能感兴趣的:(Spark)