创建 ElasticSearch 结果表
注意:本文档只适合独享模式下使用。
ElasticSearch 结果表的实现使用 REST API,理论上兼容 ElasticSearch 的各个版本。以下将 ElasticSearch 简称为 ES。
ES 需要定义的 DDL 如下:
create table es_stream_sink(
field1 long,
field2 varbianary,
field3 varchar
) with (
type ='elasticsearch',
endPoint = 'http://127.0.0.1:9211',
accessId = 'abcd',
accessKey = 'efgh',
index = 'mockIdx',
typeName = 'mockType'
...
);
WITH参数
通用配置:
参数 | 注释说明 | 默认值 | Required |
---|---|---|---|
endPoint | server 地址,例:http://127.0.0.1:9211 | 无 | 是 |
accessId | 访问实例 id | 无 | 是 |
accessKey | 访问实例密钥 | 无 | 是 |
index | 索引名称,类似于数据库 DB 的概念 | 无 | 是 |
typeName | type 名称,类似于数据库 table 的概念 | 无 | 是 |
bufferSize | 分 batch 写入的 records 条数 | 1000 | 否 |
maxRetryTimes | 异常重试次数 | 30 | 否 |
timeout | 读超时(ms) | 600000 | 否 |
discovery | 是否开启节点发现,如果开启客户端会 5 分钟刷新一次 server list |
false | 否 |
compression | 是否使用 GZIP 压缩 request bodies | true | 否 |
multiThread | 是否开启 JestClient 多线程 | true | 否 |
ignoreWriteError | 是否忽略写入异常 | false | 否 |
settings | 创建 index 的 settings 配置 | / | 否 |
本文转自实时计算——创建ElasticSearch(ES)结果表