用 Spark 为 Elasticsearch 导入搜索数据

越来越健忘了,得记录下自己的操作才行!

ES和spark版本:

spark-1.6.0-bin-hadoop2.6

Elasticsearch for Apache Hadoop 2.1.2

如果是其他版本,在索引数据写入的时候可能会出错。

首先,启动es后,spark shell导入es-hadoop jar包:

cp elasticsearch-hadoop-2.1.2/dist/elasticsearch-spark* spark-1.6.0-bin-hadoop2.6/lib/
cd spark-1.6.0-bin-hadoop2.6/bin
./spark-shell --jars ../lib/elasticsearch-spark-1.2_2.10-2.1.2.jar

交互如下:

import org.apache.spark.SparkConf
import org.elasticsearch.spark._
val conf = new SparkConf()
conf.set("es.index.auto.create", "true")
conf.set("es.nodes", "127.0.0.1")
val numbers = Map("one" -> 1, "two" -> 2, "three" -> 3)
val airports = Map("OTP" -> "Otopeni", "SFO" -> "San Fran")
sc.makeRDD(Seq(numbers, airports)).saveToEs("spark/docs")

然后查看ES中的数据:

http://127.0.0.1:9200/spark/docs/_search?q=*

结果如下:

{"took":71,"timed_out":false,"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":2,"max_score":1.0,"hits":[{"_index":"spark","_type":"docs","_id":"AVfhVqPBv9dlWdV2DcbH","_score":1.0,"_source":{"OTP":"Otopeni","SFO":"San Fran"}},{"_index":"spark","_type":"docs","_id":"AVfhVqPOv9dlWdV2DcbI","_score":1.0,"_source":{"one":1,"two":2,"three":3}}]}}

参考:

https://www.elastic.co/guide/en/elasticsearch/hadoop/2.1/spark.html#spark-installation

http://spark.apache.org/docs/latest/programming-guide.html

http://chenlinux.com/2014/09/04/spark-to-elasticsearch/

时间: 2024-08-14 06:13:13

用 Spark 为 Elasticsearch 导入搜索数据的相关文章

elasticsearch导入数据的几种方法

Elasticsearch一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.ElasticSearch也支持存储,查询,排序,分页等数据库的功能.Elasticsearch的数据就存储在硬盘中.当我们的访问日志非常大时,kabana绘制图形的时候会非常缓慢.而且硬盘空间有限,不可能保存所有的日志文件.如果我们想获取站点每天的重要数据信息,比如每天的访问量并希望能图像化的形式显示该如何做呢? 当然首先我们要把你想要的信息从Elasticsearch导出,然在整理后再导入Elast

通过HTTP RESTful API 操作elasticsearch搜索数据

通过HTTP RESTful API 操作elasticsearch搜索数据

干货 | Elasticsearch、Kibana数据导出实战

1.问题引出 以下两个导出问题来自Elastic中文社区. 问题1.kibana怎么导出查询数据? 问题2:elasticsearch数据导出 就像数据库数据导出一样,elasticsearch可以么? 或者找到它磁盘上存放数据的位置,拷贝出来,放到另一个es服务器上或者转成自己要的数据格式? 实际业务实战中,大家或多或少的都会遇到导入.导出问题. 根据数据源的不同,基本可以借助: 1.程序写入 2.数据同步 logstash/flume/cana/es_hadoopl等来实现关系型数据库(如:

Elasticsearch分布式搜索

ElasticSearch之介绍 一 Elasticsearch产生背景 1.1 大规模数据如何检索 如:当系统数据量上了10亿.100亿条的时候,我们在做系统架构的时候通常会从以下角度去考虑问题:1)用什么数据库好?(mysql.oracle.mongodb.hbase…)2)如何解决单点故障:(lvs.F5.A10.Zookeep.MQ)3)如何保证数据安全性:(热备.冷备.异地多活)4)如何解决检索难题:(数据库代理中间件:mysql-proxy.Cobar.MaxScale等;)5)如何

常见SQL Server导入导出数据的几个工具

摘自:http://www.cnblogs.com/chenxizhang/archive/2011/06/09/2076542.html 在我们的日常工作中,与数据库打交道的机会越来越多.这一篇文章我整理一下常见的SQL Server导入导出数据的几个工具 1. 数据导入导出向导 这是一个可视化的工具,我放在首位,是由于它可以极大灵活地满足导入导出功能,而且是所见即所得的,易于使用. 启动数据导入导出向导的方式有好多种,我自己习惯直接通过如下的命令启动(开始=>运行) dtswizard(顾名

[转]mysql导入导出数据中文乱码解决方法小结

本文章总结了mysql导入导出数据中文乱码解决方法,出现中文乱码一般情况是导入导入时编码的设置问题,我们只要把编码调整一致即可解决此方法,下面是搜索到的一些方法总结,方便需要的朋友. linux系统中 linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题. 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqldump的时候需要加上--default-character-set=utf8, 例如下面的代码: 代码如下: mys

结合bootstrap fileinput插件和Bootstrap-table表格插件,实现文件上传、预览、提交的导入Excel数据操作流程

1.bootstrap-fileinpu的简单介绍 在前面的随笔,我介绍了Bootstrap-table表格插件的具体项目应用过程,本篇随笔介绍另外一个Bootstrap FieInput插件的使用,整合两者可以实现我们常规的Web数据导入操作,导入数据操作过程包括有上传文件,预览数据,选择并提交记录等一系列操作. 关于这个插件,我在早期随笔<Bootstrap文件上传插件File Input的使用>也做了一次介绍,这是一个增强的 HTML5 文件输入控件,是一个 Bootstrap 3.x

elasticsearch分布式搜索配置文件详解

Elasticsearch是一个开源的分布式实时搜索与分析引擎,支持云服务.它是基于Apache Lucene搜索引擎的类库创建的,提供了全文搜索能力.多语言支持.专门的查询语言.支持地理位置服务.基于上下文的搜索建议.自动完成以及搜索片段(snippet)的能力.Elasticsearch支持RESTful的API,可以使用JSON通过HTTP调用它的各种功能,包括搜索.分析与监控.下面是讲述了elasticsearch分布式搜索配置文件各类参数的具体含义. elasticsearch的con

大快搜索数据爬虫技术实例安装教学篇

大快搜索数据爬虫技术实例安装教学篇 爬虫安装前准备工作:大快大数据平台安装完成.zookeeper.redis.elasticsearch.mysql等组件安装启动成功. 1.修改爬虫安装配置文件(最好在线下修改好后再上传平台) 2.修改crawler\dkcrw\jdbc.properties配置文件(只修改图片里的内容其他内容默认即可) Hbase.zookeeper.quorum所填地址应在DKM监控平台查看: Redis相关配置看如下界面: 3.把已修改的crawler\dkcrw\下的