ElasticSearch是一个基于Lucene的搜索服务器, 它提供了一个分布式多用户能力的全文搜索引擎, 基于RESTful web接口, 底层是用Java开发的。
本文将通过Spark的方式来读取ES,基于以下版本开发测试。
scala-version:2.11.8
spark-version:2.2.0
elasticsearch-version:5.5.0
接下来正式开始了。
1. 添加Maven依赖
<dependencies>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch-spark-20_2.11</artifactId>
<version>6.2.4</version>
</dependency>
</dependencies>
2. Spark 读取ES
import org.apache.spark.{SparkConf, SparkContext}
import org.elasticsearch.spark.rdd.EsSpark
object ES2Spark {
def main(args: Array[String]): Unit = {
val conf = new SparkConf().setMaster("local").setAppName("ES2Spark")
.set("es.index.auto.create", "true")
.set("es.nodes", "127.0.0.1")
.set("es.port", "9200")
val sc = new SparkContext(conf)
val rdd = EsSpark.esJsonRDD(sc, "indexName", "?q=*1*")
rdd.foreach(println(_))
sc.stop()
}
}