繁体   English   中英

将Spark 2.X连接到ElasticSearch 2.X

[英]Connect Spark 2.X to ElasticSearch 2.X

我正在使用Spark和ElasticSearch,找不到如何在ElasticSearch 2.x中使用Spark2.X。 ElasticSearch Spark库仅支持ES 2.X的Spark 1.6,并支持ES 5.alpha的Spark2。如何将Spark连接到ElasticSearch?

请看看这个。

Apache Spark支持

Apache Spark是不与Map / Reduce本身绑定的计算框架,但确实与Hadoop集成,主要是与HDFS集成。 elasticsearch-hadoop允许Elasticsearch以两种方式在Spark中使用:从2.1开始提供专用支持,或者从2.0开始通过Map / Reduce桥。 从5.0版开始,elasticsearch-hadoop支持Spark 2.0

希望有帮助!

ElasticSearch Spark Error上也有战利品,其中用户使用弹性搜索的较低版本(Spark 2.0.0 ElasticSearch-Spark 2.3.4)的spark 2.0,@ Crackerman能够解决他的问题(其他问题不是版本相关的东西)

我正在使用Spark 2.2读取Elasticsearch 5.5.2是可行的

scalaVersion := "2.11.10"
val spark = "2.2.0"
val es = "5.5.2"
libraryDependencies ++= Seq(
  "org.elasticsearch" % "elasticsearch-spark-20_2.11" % es,
  "org.apache.spark" % "spark-core_2.11" % spark % "provided" ,
  "org.apache.spark" % "spark-sql_2.11" % spark % "provided",
  "org.apache.spark" % "spark-hive_2.11" % spark % "provided"
)
 val sparkSession = SparkSession.builder()
    .config("es.nodes",locahost)
    .config("es.port","9200")
    .appName("ES")
    .master("local[*]")
    .enableHiveSupport()
    .getOrCreate()

   sparkSession.read.format("org.elasticsearch.spark.sql")
  .option("es.query", "?q=id:(123)") 
  .load("es_index/es_type")

是的,它支持它。

您可以在这里找到org.elasticsearch库: https : org.elasticsearch

https://mvnrepository.com/artifact/org.elasticsearch/elasticsearch-spark-20

另外,请注意匹配相同的scala版本(2.11或2.10)。 例如,Ambari提供了Spark2-scala 2.11。

暂无
暂无

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

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