2017-09-19 15 views
0

IVEはグルーデータカタログでEMRクラスターを作成しました。私は、スパーク・シェルを起動すると、私は正常にスパークカタログAWS接着剤:データベースが見つかりません

spark.catalog.setCurrentDatabase("test") 
spark.catalog.listTables 

経由グルーデータベース内に格納されたテーブルを一覧表示することができる午前私は​​経由でジョブを送信するときしかし、私は致命的なエラー

ERROR ApplicationMaster: User class threw exception: org.apache.spark.sql.AnalysisException: Database 'test' does not exist.; 

を取得する私は5.9.0がリリースされたばかり

SparkSession.builder.enableHiveSupport.getOrCreate 
+0

私と同じ問題です。あなたは解決策を見つけましたか? – Jagadeesh

答えて

1

私は同じ問題を持っていた:​​は、AWSグルーライブラリを発見しませんが、spark-shellは、マスターノードの意志に取り組んでいます。

私の​​ジョブは標準org.apache.sparkorg.apache.hiveライブラリでコンパイルされた脂肪.jarを使用していることが判明しました。 jarライブラリはEMRにインストールされたカスタムクラスの代わりに使用されていました。 これがあなたの場合であれば、すべてを除外することを確認してください:

'org.apache.spark:' 'org.apache.hive:' 'org.apache.hadoop:' あなたからのモジュール.jar

これは私が.Gradlehttp://unethicalblogger.com/2015/07/15/gradle-goodness-excluding-depends-from-shadow.htmlに使用したリファレンスです。

すべてのスパークライブラリの前にcompileOnlyキーワードを追加すると修正されました。

1

私たちの問題は、EMRクラスターに対するIAMの許可でした。クラスタのIAMインスタンスプロファイルがグルーにフルアクセスできることを確認してください。

関連する問題