博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spark第九篇:Spark操作ES
阅读量:5915 次
发布时间:2019-06-19

本文共 1470 字,大约阅读时间需要 4 分钟。

spark操作es需要elasticsearch-hadoop-xxx.jar,版本需同es版本。从5.0版本开始,支持spark2.0。

把elasticsearch-hadoop-xxx.jar放在spark的类路径(classpath)中。

1、Native RDD support 原生RDD支持

不学。

2、Spark SQL support

java代码示例:

public static void main(String[] args) {        SparkSession spark = SparkSession.builder()                .appName("heihei").master("local[*]")                .getOrCreate();        Map cfg = new HashMap(8);        cfg.put("es.nodes", "192.168.56.12");        cfg.put("es.port", "9200");        Dataset
df = spark.read().format("org.elasticsearch.spark.sql") .options(cfg) .load("twitter/_doc"); if (df.count() == 0) { df = spark.createDataFrame(Arrays.asList(new Person("3", "zhang san", "123456", "2018-11-17", "2018-11-17") , new Person("" + Integer.MAX_VALUE, "wang zhao jun", "123456", "2018-11-18", "2018-11-18") ), Person.class); } cfg.put("es.index.auto.create", "false"); cfg.put("es.mapping.id", "id"); cfg.put("es.internal.spark.sql.pushdown", "true"); df.write().format("org.elasticsearch.spark.sql").mode(SaveMode.Overwrite) .options(cfg) .save("twitter/_doc"); }

其中pushdown表示Whether to translate (push-down) Spark SQL into Elasticsearch Query DSL。

最后,在用save()输出时,如果不想把index/type当做save()方法的入参,还可以用option(“path”,"index/type")的方式指定。

3、Spark Streaming support

 

转载于:https://www.cnblogs.com/koushr/p/9873866.html

你可能感兴趣的文章
CodeIgniter的密码处理论
查看>>
深入Mysql - 谈谈我对数据类型的认识
查看>>
Tsuru 1.7.0-rc4 发布,基于 Docker 的 PaaS 框架
查看>>
Apache HBase 2.1.3 发布,分布式数据库
查看>>
微信端H5开发整体解决方案
查看>>
Python之retrying
查看>>
OWASP 10 大 Web 安全问题在 JEE 体系完全失控
查看>>
洛谷 P1640 BZOJ 1854 [SCOI2010]连续攻击游戏
查看>>
如何理解Unity组件化开发模式
查看>>
util.promisify 的那些事儿
查看>>
未来黑科技公司完成亿元Pre-B轮融资,已和宝马达成合作
查看>>
三篇文章了解 TiDB 技术内幕 - 谈调度
查看>>
【DG】DG的3种保护模式
查看>>
[20150107]关于print_table.txt
查看>>
Chrome 如何知道网站启用了SPDY 协议?
查看>>
8天玩转并行开发——第五天 同步机制(下)
查看>>
一次性关闭所有的Activity
查看>>
运算符 - PHP手册笔记
查看>>
二维数组的认识及其表示元素的两种方式
查看>>
LINUX下DNS的查看和配置
查看>>