Elasticsearch 6.3 发布,你们要的 SQL 功能来了

Elasticsearch 6.3 于前天正式发布,其中带来了很多新特性,详情请参见:https://www.elastic.co/blog/elasticsearch-6-3-0-released。这个版本最大的亮点莫过于内置支持 SQL 模块!我在早些时间就说过 Elasticsearch 将会内置支持 SQL,参见:

ElasticSearch内置也将支持SQL特性

。我们可以像操作 MySQL一样使用 Elasticsearch,这样我们就可以减少 DSL 的学习成本,这个 SQL 模块是属于 X-Pack 的一部分。Elasticsearch SQL 主要有以下几个特点:

允许我们在 Elasticsearch 使用 SQL 查询其中的数据;

支持 REST 、 JDBC 以及命令行来来下数据,任何客户端都可以使用 SQL 在 Elasticsearch 中本地搜索和聚合数据;

内部应该是将 SQL 翻译成 DSL 来查询数据的

本文将简单介绍如何在 Elasticsearch 中使用 SQL。

安装

在使用之前,我们需要先安装 Elasticsearch 6.3,因为我这只是测试,所以安装过程非常简单。步骤如下:

经过上面几步,我们就在服务器上简单地部署好了 Elasticsearch 6.3。我们可以访问 ip:9200 页面来确定我们的 Elasticsearch 6.3 是否正常运行:

如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop

在使用 Elasticsearch SQL 之前,我们先通过下面命令往 Elasticsearch 导一些数据:

[返回结果]

SQL REST API

返回结果

上面通过 format=txt 指定以文本的形式返回结果,这种形式对我们人来说看起来很舒服,但是对计算机来说很不友好,所以我们可以指定返回数据的格式:

返回结果

其他的格式支持包括:yaml、smile、cbor 、txt、csv、tsv等等,我们可以通过 format 参数指定。

SQL Translate API

ElasticSearch 提供了 SQL Translate API 接口,我们可以通过这个接口查看 ElasticSearch 如何将我们的 SQL 翻译成 DSL:

返回结果

SQL CLI

ElasticSearch 还为我们提供了一个 CLI,我们可以通过下面命令启动并查询数据:

如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop

SQL JDBC

当然,我们还可以在程序里面通过 JDBC 连接 ElasticSearch 来查询里面的数据:

关于 ElasticSearch SQL 的更多信息,请参见官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/xpack-sql.html

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180615G0K44A00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券