【发布时间】:2016-06-30 20:39:11
【问题描述】:
我正在测试从 csv 加载数据以触发然后将其保存在 Elasticsearch 中,但是我在使用 spark 将我的 RDD 集合保存在 Elasticsearch 中时遇到了一些麻烦。 提交作业时出现此错误:
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
感谢您的进一步帮助:)
【问题讨论】:
标签: java maven elasticsearch apache-spark elasticsearch-hadoop