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>