使用spark与ElasticSearch交互
使用 elasticsearch-hadoop 包,可在 github 中搜索到该项目
example
import org.elasticsearch.spark._
import org.elasticsearch.spark.sql._
val conf = new SparkConf()
.set("es.nodes","192.168.47.155")
.set("es.port","9200")
.setMaster("spark://...")
.setAppName("es_hdfs")
val sc = new SparkConf(sc)
//查询合作方为abc的数据
val query = """{"query":{"match":{"activity.partnerCode": "abc"}}}"""
//将在es中的查询结果转化为rdd/dataFrame
val esRdd = sc.esRDD(s"index/type",query)
//直接读入全部数据
val esDf = sqlContext.esDF(s"index/type")
//对读入rdd/dataFrame进行操作
esRdd.map(r=>{...})
esDf.flatMap(r=>{......})
//将dataFrame/rdd写入es
esRdd.saveToEs("index/type")
resultDf.saveToEs("index/type")
Tips
从es读入数据时,读取的并发度由es的分片数决定。
使用spark与ElasticSearch交互的更多相关文章
- 使用spark访问elasticsearch的数据
使用spark访问elasticsearch的数据,前提是spark能访问hive,hive能访问es http://blog.csdn.net/ggz631047367/article/detail ...
- Spark 整合ElasticSearch
Spark 整合ElasticSearch 因为做资料搜索用到了ElasticSearch,最近又了解一下 Spark ML,先来演示一个Spark 读取/写入 ElasticSearch 简单示例. ...
- Spark搭档Elasticsearch
Spark与elasticsearch结合使用是一种常用的场景,小编在这里整理了一些Spark与ES结合使用的方法.一. write data to elasticsearch利用elasticsea ...
- 数据湖应用解析:Spark on Elasticsearch一致性问题
摘要:脏数据对数据计算的正确性带来了很严重的影响.因此,我们需要探索一种方法,能够实现Spark写入Elasticsearch数据的可靠性与正确性. 概述 Spark与Elasticsearch(es ...
- 用 Spark 为 Elasticsearch 导入搜索数据
越来越健忘了,得记录下自己的操作才行! ES和spark版本: spark-1.6.0-bin-hadoop2.6 Elasticsearch for Apache Hadoop 2.1.2 如果是其 ...
- spark操作elasticsearch数据的限制
对于复杂的数据类型,比如IP和GeoPoint,只是在elasticsearch中有效,用spark读取时会转换成常用的String类型. Geo types. It is worth mention ...
- spark对elasticsearch增删查改
增 新建一个 dataframe ,插入到索引 _index/_type ,直接调用 saveToEs ,让 _id 为自己设定的 id: import org.elasticsearch.spark ...
- spark 集成elasticsearch
pyspark读写elasticsearch依赖elasticsearch-hadoop包,需要首先在这里下载,版本号可以通过自行修改url解决. """ write d ...
- 分布式处理与大数据平台(RabbitMQ&Celery&Hadoop&Spark&Storm&Elasticsearch)
热门的消息队列中间件RabbitMQ,分布式任务处理平台Celery,大数据分布式处理的三大重量级武器:Hadoop.Spark.Storm,以及新一代的数据采集和分析引擎Elasticsearch. ...
随机推荐
- 解决Tomcat无法shutdown进程
转自:http://my.oschina.net/yongyi/blog/405198 问题分析 这个在windows下没有碰到过,因为此前跑Tomcat都是以服务而不是命令脚本的形式跑的,而且已经换 ...
- 制作大漠字库并用python调用大漠工具方法来识别文字
1.制作字库 1.截取需要的图片 2.这里截取了"火狐主页"四个字,接下来抓取文字的颜色 3.颜色由是由三个部分组成,即R G B其中的R是由00-FF(16进制) 即0-255个 ...
- (copy) Shell Script to Check Linux System Health
source: http://linoxide.com/linux-shell-script/shell-script-check-linux-system-health/ This article ...
- GitLab + Jenkins + Docker + Kubernetes。
目前方案是GitLab + Jenkins + Docker + Kubernetes. 方案的工作流程如下:首先,开发人员提交代码代码提交:随后,GitLab 会自动触发Jenkins job,Je ...
- this的指向
在JS中,有三种需要注意的this:寻常的this/事件的this/ajax请求的this. 寻常的this 这种this的判断很简单,this是指向执行函数的对象.下面是事例说明: var name ...
- thttpd和cgilua安装与运行流程分析
安装 参考如下博文安装thttpd软件 http://blog.csdn.net/21aspnet/article/details/7045845 http://blog.csdn.net/drago ...
- 使用Go开发web服务器
原文链接 Go(Golang.org)是在标准库中提供HTTP协议支持的系统语言,通过他可以快速简单的开发一个web服务器.同时,Go语言为开发者提供了很多便利.这本篇博客中我们将列出使用Go开发HT ...
- Python 面向对象编程进阶
静态方法 只是名义上归类管理,实际上在静态方法里访问不了类或实例中的任何属性 通过@staticmethod装饰器即可把其装饰的方法变为一个静态方法,什么是静态方法呢?其实不难理解,普通的方法,可以在 ...
- SSH三大框架的工作原理及流程
Hibernate工作原理及为什么要用? 原理:1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件2.由hibernate.cfg.x ...
- mysql常用命令(2)
1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root ...