繁体   English   中英

简单esRDD(Spark中使用的Elasticsearch-hadoop连接器)引发了异常

[英]Exception raised with simple esRDD (elasticsearch-hadoop connector used in Spark)

我正在使用在Elasticsearch中加载的一些测试数据在localhost上测试ElasticSearch和Spark集成(带有elasticsearch-hadoop连接器)。 调用交互式外壳:

] $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退出:

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连接? 任何提示表示赞赏!

从Spark 2.0开始,默认情况下使用Scala 2.11构建Spark。 因此,您需要下载针对Scala 2.11构建的2.0版弹性搜索火花连接器。

您可以从这里下载。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM