使用ApacheSpark将数据写入ElasticSearch.PDFVIP

  • 226
  • 0
  • 约1.05万字
  • 约 8页
  • 2017-05-16 发布于天津
  • 举报
使用ApacheSpark将数据写入ElasticSearch.PDF

使用Apache Spark将数据写入ElasticSearch Spark大数据博客 - 使用Apache Spark将数据写入ElasticSearch ElasticSearch是一个基于Lucene的有哪些信誉好的足球投注网站服务器。它提供了一个分布式多用户能力的全文有哪些信誉好的足球投注网站 引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源 码发布,是当前流行的企业级有哪些信誉好的足球投注网站引擎。设计用于云计算中,能够达到实时有哪些信誉好的足球投注网站,稳定,可靠, 快速,安装使用方便。 本文并不打算介绍ElasticSearch的概念,安装部署等知识,而是直接介绍如何使用Apache S park将数据写入到ElasticSearch中。本文使用的是类库是elasticsearch- hadoop,其从2.1版本开始提供了内置 支持Apache Spark的功能,在使用elasticsearch- hadoop之前,我们需要引入依赖: dependency groupIdorg.elasticsearch/groupId artifactIdelasticsearch-hadoop/artifactId version2.3.4/version /dependency 为了方便,本文直接在spark-shell中操作ElasticSearch。在此之前,我们需要在$SPARK_HO ME/conf/spark-default.conf文件中加入以下配置: spark.es.nodes spark.es.port 9200 其中spark.es.nodes指定你es集群的机器列表,但是不需要把你集群所有的节点都列在里面;spa rk.es.port表示集群HTTP端口。之所以要加上spark前缀是因为Spark通过从文件里面或者命令行 里面读取配置参数只会加载spark开头的,其他的参数将会被忽略。之后elasticsearch- hadoop会把spark前缀去掉。 如果你直接将代码写入文件,那么你可以在初始化SparkContext之前设置好ElasticSearch相关的 参数,如下: import org.apache.spark.SparkConf val conf = new SparkConf().setAppName(iteblog).setMaster(master) conf.set(es.nodes, ) conf.set(es.port, 9200) 1 / 8 使用Apache Spark将数据写入ElasticSearch Spark大数据博客 - conf.set(es.index.auto.create, true) 在写入数据之前,先导入org.elasticsearch.spark._包,这将使得所有的RDD拥有saveToEs方法。 下面我将一一介绍将不同类型的数据写入ElasticSearch中。 将Map对象写入ElasticSearch scala import org.elasticsearch.spark._ import org.elasticsearch.spark._ scala val numbers = Map(one - 1, two - 2, three - 3) numbers: scala.collection.immutable.Map[String,Int] = Map(one - 1, two - 2, three - 3) scala val airports = Map(OTP - Otopeni, SFO - San Fran) airports: scala.collection.immutable.Map[String,String] = Map(OTP - Otopeni, SFO - San Fran ) scala sc.makeRDD(Seq(numbers, airports)).saveToEs(iteblog/docs) 上面构建了两个Map对象,然后将它们写入到ElasticSearch中;其中saveToEs里面参数的ite

文档评论(0)

1亿VIP精品文档

相关文档