Elasticsearch连接器
注意:强烈推荐使用Elasticsearch 6.0.0及以上版本。
配置
要配置Elasticsearch连接器,请创建具有以下内容的目录属性文件etc/catalog/elasticsearch.properties
,并适当替换以下属性:
配置属性
定义连接Elasticsearch节点的主机。
此属性是必选。
定义连接Elasticsearch节点的端口号。
此属性是可选的;默认值为9200。
elasticsearch.default-schema-name
定义将包含没有限定模式名称的所有表的模式。
此属性是可选的;默认值为default
。
elasticsearch.scroll-size
此属性定义每个Elasticsearch滚动请求中可以返回的最大命中数。
此属性是可选的;默认值为1000
。
elasticsearch.scroll-timeout
此属性定义了Elasticsearch将保持滚动请求的时间量(毫秒)。
此属性定义所有Elasticsearch请求的超时值。
此属性是可选的;默认值为10s
。
elasticsearch.connect-timeout
此属性定义了所有连接Elasticsearch的超时值。
此属性是可选的;默认值为1s
。
elasticsearch.max-retry-time
此属性定义了单个连接的最大重试时间。
此属性是可选的;默认值为20s
。
elasticsearch.node-refresh-interval
此属性定义了可用Elasticsearch节点更新频率。
此属性是可选的;默认值为1m
。
elasticsearch.security
配置连接Elasticsearch的认证类型。目前仅支持PASSWORD
。
连接Elasticsearch认证的用户名。
连接Elasticsearch认证的密码。
Elasticsearch连接器提供了额外安全选项支持开启了TLS的Elasticsearch节点。该连接器支持PEM或JKS格式的key store和trust store。配置参数如下:
elasticsearch.tls.keystore-path
此属性是可选的。
elasticsearch.tls.truststore-path
此属性定义了PEM或JKS格式的trust store文件的路径, 该文件必须可由运行openLooKeng的操作系统用户读取。
此属性是可选的。
elasticsearch.tls.keystore-password
此属性定义了key store文件的密码。
此属性是可选的。
此属性定义了trust store文件的密码。
此属性是可选的。
示例:
Data Types
数据类型映射关系如下:
Elasticsearch中的字段可以包含单个或多个值,但没有数组类型。要说明字段中包含数组,可以在索引映射的_meta中用Presto特定的结构对其进行注释。
例如,有一个包含以下结构的文档的索引:
可以使用以下命令定义该结构的数组字段,将字段属性定义添加到目标索引映射的_meta.presto属性中。
限制
- openLooKeng不支持查询Elasticsticsearch中有重复列名的表,如:列名为“name”和“NAME”;