Sparkのバグ:java.lang.IllegalArgumentException:不正なパターンコンポーネント:XXXソリューション

1.機能:

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パッケージでは認識されません。
* <li>`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.</li>

3.解決策

方法1:オプションオプションを変更して、デフォルトのtimeStampFormatを変更します

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

方法2:langパッケージの依存関係を手動で増やし、pomファイルに以下を追加します。

<dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
      <version>3.5</version>
</dependency>

 

おすすめ

転載: blog.csdn.net/weixin_36714575/article/details/81943540