Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala simple esRDD(Spark中使用的elasticsearch hadoop连接器)引发异常_Scala_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Apache Spark - Fatal编程技术网 elasticsearch,apache-spark,Scala,elasticsearch,Apache Spark" /> elasticsearch,apache-spark,Scala,elasticsearch,Apache Spark" />

Scala simple esRDD(Spark中使用的elasticsearch hadoop连接器)引发异常

Scala simple esRDD(Spark中使用的elasticsearch hadoop连接器)引发异常,scala,elasticsearch,apache-spark,Scala,elasticsearch,Apache Spark,我正在本地主机上测试ElasticSearch和Spark集成(使用ElasticSearch hadoop连接器),使用ElasticSearch中加载的一些测试数据。调用交互式shell: ] $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"

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

] $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:))

]
scala>my_rdd.take(3.foreach)(println)
17/02/02 14:08:18错误执行器。执行器:任务0.0在阶段0.0(TID 0)中出现异常
java.lang.NoClassDefFoundError:scala/collection/GenTraversableOnce$class
请访问org.elasticsearch.spark.rdd.AbstractESRDiterator。(AbstractESRDiterator.scala:28)
在org.elasticsearch.spark.rdd.scalaesrditerator上(ScalaEsRDD.scala:43)
在org.elasticsearch.spark.rdd.ScalaEsRDD.compute上(ScalaEsRDD.scala:39)
...
...
驱动程序堆栈跟踪:)
]
版本: ES:2.4.2 火花:2.0.1 elasticsearch hadoop:5.2.0

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

从Spark 2.0开始,Spark默认使用Scala 2.11构建。所以 您需要下载基于Scala 2.11构建的elastic search spark connector for 2.0


你可以从下载

您提供的链接涉及es hadoop 5.1.2。你是说我使用的版本(5.2.0)与spark 2.0.1不兼容吗?它不是es hadoop,而是es spark。下载该文件,您将了解其中的差异!对不起,我现在不在座位上。es spark和es hadoop是否提供相同的功能?它们是互补产品还是并行产品?es hadoop是所有大数据技术的组合连接器,如hadoop、Spark、Storm、Pig。。例如,es spark是es hadoop的子项目,它只支持spark。因此,也许es hadoop对于我的需求来说太大了,但我认为它应该可以工作,我错了吗?