簡體   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