本文详细介绍了不同版本中Elasticsearch SQL的使用方法,总结了实际中常用的方法和操作,并给出了几个具体例子。
上篇文章回顾:看示例学awk
一、5.x中ES-SQL用法
Elasticsearch 5.x版本中,SQL功能还没有集成到Elasticsearch源码中,需要下载第三方插件后才能使用,配置过程如下:
1.安装ES-SQL依赖node npm
ES-SQL 5.x版本以后,安装需要依赖node和npm,先安装node和npm,安装后在检查node及npm的安装,命令如下:
yum -y install nodejs npm
node -v
npm -v
2.下载ES-SQL并安装
然后切换到ES的根目录下,执行如下命令,下载并安ES-SQL插件:
./bin/elasticsearch-plugin install https://github.com/NLPchina/elasticsearch-sql/releases/download/5.6.3.0/elasticsearch-sql-5.6.3.0.zip
离线包安装可以执行:
./bin/elasticsearch-plugin install file:/elasticsearch-sql-5.6.3.0.zip
3.重启ES服务
执行完上述三步,你就可以使用SQL探索数据了,以kibana中的使用为例:
二、6.4 Elasticsearch SQL用法
1、Elasticsearch SQL支持的数据类型
首先我们看下Elasticsearch SQL和标准SQL中数据类型的对应关系:
2、Elasticsearch SQL的使用方式
Elasticsearch SQL支持三种client: REST Interface, command-line,JDBC
2.1 REST Interface
建议先在kibana中测试(可以一次执行多个SQL),查询通过之后把查询copy到项目中进行测试。
6.3+ Elasticsearch SQL有个非常实用的功能,就是可以用translate api把SQL语句翻译成ES DSL语句,对于学习DSL感到头痛的同学有福啦。
2.2 command-line
命令行界面的进入方式:
./elasticsearch-sql-cli IP:PORT(本机ip和es的端口)
进入后的界面如下:
命令行一般作为SQL测试时使用。
2.3 JDBC
该组件为X-Pack中的收费组件,感兴趣的同学可以参考官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-jdbc.html
3、常用SQL语句
注意:查询单个索引名一定要用""引上,否则会报错
*查看当前用户所有的索引:“SHOW TABLES;”
精准查询某个索引:“SHOW TABLES LIKE ‘indexname’;”
通配符查询某些索引:“SHOW TABLES LIKE