首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >简单esRDD引发异常(在Spark中使用了elasticsearch-hadoop连接器)

简单esRDD引发异常(在Spark中使用了elasticsearch-hadoop连接器)
EN

Stack Overflow用户
提问于 2017-02-03 03:22:22
回答 1查看 337关注 0票数 0

我正在使用elasticsearch中加载的一些测试数据,在本地主机上测试ElasticSearch和Spark的集成(使用elasticsearch-hadoop连接器)。调用交互式shell:

代码语言:javascript
复制
] $SPARK_HOME/bin/spark-shell --master local[4] --jars ~/spark/jars/elasticsearch-hadoop-5.2.0.jar --conf spark.es.nodes="localhost" spark.es.port="9200" spark.es.resource="myindex/mytype"

scala> import org.elasticsearch.spark._
scala> val my_rdd = sc.esRDD("myindex/mytype")

my_rdd: org.apache.spark.rdd.RDD[(String, scala.collection.Map[String,AnyRef])] = ScalaEsRDD[0] at RDD at AbstractEsRDD.scala:34

但是下面的操作抛出一个异常,并使Spark退出:

代码语言:javascript
复制
scala> my_rdd.take(3).foreach(println)

17/02/02 14:08:18 ERROR executor.Executor: Exception in task 0.0 in stage 0.0 (TID 0)
java.lang.NoClassDefFoundError: scala/collection/GenTraversableOnce$class
at org.elasticsearch.spark.rdd.AbstractEsRDDIterator.<init>(AbstractEsRDDIterator.scala:28)
at org.elasticsearch.spark.rdd.ScalaEsRDDIterator.<init>(ScalaEsRDD.scala:43)
at org.elasticsearch.spark.rdd.ScalaEsRDD.compute(ScalaEsRDD.scala:39)
...
...
Driver stacktrace:))

]

版本: ES : 2.4.2 Spark : 2.0.1 elasticsearch-hadoop: 5.2.0

这可能是版本之间的冲突吗?有没有办法在没有elasticsearch-hadoop连接器的情况下测试ES连接?任何提示都很感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-03 04:39:57

从Spark 2.0开始,Spark默认使用Scala 2.11构建。因此您需要下载针对Scala2.11构建的elastic search spark connector for 2.0。

你可以从here下载。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42010632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档