本文主要介绍spark sql读写es、structured streaming写入es以及一些参数的配置
ES官方提供了对spark的支持,可以直接通过spark读写es,具体可以参考ES Spark Support文档(文末有地址)。
以下是pom依赖,具体版本可以根据自己的es和spark版本进行选择:
org.elasticsearch
elasticsearch-spark-20_2.11
6.0.0
Spark SQL - ES
主要提供了两种读写方式:一种是通过DataFrameReader/Writer传入ES Source实现;另一种是直接读写DataFrame实现。在实现前,还要列一些相关的配置:
配置
参数
描述
es.nodes.wan.only
true or false,在此模式下,连接器禁用发现,并且所有操作通过声明的es.nodes连接
es.nodes
ES节点
es.port
ES端口
es.index.auto.create
true or false,是否自动创建index
es.resource
资源路径
es.mapping.id
es会为每个文档分配一个全局id。如果不指定此参数将随机生成;如果指定的话按指定的来
es.batch.size.bytes
es批量API的批量写入的大小(以字节为单位)
es.batch.write.refresh
批量更新完成后是否调用索引刷新
es.read.fi