csv から spark にデータをロードして Elasticsearch に保存することをテストしていますが、spark を使用して Elasticsearch に RDD コレクションを保存する際に問題が発生しています。ジョブを送信すると、次のエラーが発生します。
Exception in thread "main" java.lang.NoClassDefFoundError: org/elasticsearch/spark/rdd/api/java/JavaEsSpark
しかし、Mavenでコンパイルしたので、依存関係は正しいはずです...
私の pom.xml はここにあります: http://pastebin.com/b71KL903。
この行に到達すると、エラーが発生します。
JavaEsSpark.saveToEs(javaRDD, "index/logements");
私のコードの残りはここにあります:http://pastebin.com/8yuJB68A
この問題については既に検索しましたが、何も見つかりませんでした: https://discuss.elastic.co/t/problem-between-spark-and-elasticsearch/51942。
https://github.com/elastic/elasticsearch-hadoop/issues/713 .
https://github.com/elastic/elasticsearch-hadoop/issues/585 .
「ClassNotFoundException」が表示されるのは、例外が発生した場合、Spark がそのジョブ クラスローダーをすぐにシャットダウンし、ロードする必要がある他のクラスが失敗して初期エラーが非表示になるためです。
しかし、私は進む方法がわかりません。詳細モードでジョブを送信しましたが、他に何も表示されませんでした: http://pastebin.com/j6zmyjFr
さらに助けてくれてありがとう:)