LoginSignup
0

More than 5 years have passed since last update.

Sparkトラブルシューティング「org.apache.spark.sql.AnalysisException: Reference 'Hoge' is ambiguous」

Last updated at Posted at 2016-10-24

下記のようなエラーが出力され少しハマったので原因と対処ほうについて。

org.apache.spark.sql.AnalysisException: Reference 'Hoge' is ambiguous, could be: Hoge#5, Hoge#96.

原因

読み込みデータに大文字と小文字の違いだけで同じスペルのカラムが存在していたことが原因でした。
hogeとHogeみたいな。
Sparkの内部のスキーマはデフォルトでは大文字と小文字を区別しないようです。jsonなどでは大文字と小文字で別々のカラム(キー)で値を持てるのでこういったエラーが出ることがあります。

対処

データを修正

大文字と小文字で同じスペルになるカラムがなくなるようにデータを修正する。

オプションを使ってSparkが大文字と小文字を区別するようにする

spark.sql.caseSensitivという設定項目があるので、これをtrueにすると大文字と小文字を区別するようになります。

コード中で設定するには下記のようにします。

sqlContext.sql("set spark.sql.caseSensitive=false")

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0