使用 SQL 查询您的 Amazon Elasticsearch Service 数据 - Amazon Elasticsearch Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 SQL 查询您的 Amazon Elasticsearch Service 数据

您可以使用 SQL 查询您的 Amazon Elasticsearch Service (Amazon ES),而不是使用基于 JSON 的DSL 弹性搜索查询。如果您已经熟悉语言或想要将您的域与使用该语言的应用程序集成,则使用 SQL 查询将非常有用。

使用下表查找每个 Elasticsearch 版本支持的 SQL 插件版本。每个 SQL 插件版本对应于Open Distro for Elasticsearch 版本

Elasticsearch 版本 SQL 插件版本 显著功能

7.1

1.1.0

7.3

1.3.0 多个字符串和数字运算符
7.4

1.4.0

添加其他日期/时间函数,支持 IF、IFNULL 和 ISNULL 函数
7.7

1.8.0

7.8

1.9.0

7.9

1.11.0

添加其他日期/时间函数,ORDER BY 关键字

7.10

1.13.0 窗口函数、CAST () 函数、显示和描述命令的第一个和最后一个空值

运行 Elasticsearch 6.5 或更高版本的域上提供 SQL 支持。SQL 插件的完整文档可在Open Distro for Elasticsearch 文档

调用示例

若要使用 SQL 查询数据,请将 HTTP 请求发送至_opendistro/_sql使用以下格式:

POST elasticsearch_domain/_opendistro/_sql { "query": "SELECT * FROM my-index LIMIT 50" }

备注和差异

_opendistro/_sql 的调用在请求正文中包含索引名称,因此与 bulk、mget 和 msearch 操作具有相同的访问策略注意事项。与往常一样,在向 API 操作授予权限时,请遵循最低特权原则

有关将 SQL 与精细访问控制结合使用的安全注意事项,请参阅Amazon Elasticsearch (Amazon Elasticsearch Service) 中的精细访问控制

Open Distro for Elasticsearch SQL 插件包含许多可调的设置,但在亚马逊 ES 上,请使用_opendistro/_sql/settings路径而不是标准_cluster/settings路径:

PUT _opendistro/_sql/settings { "persistent": { "opendistro.sql.cursor.enabled": true } }

SQL Workbench

SQL Workbench 是一个 Kibana 用户界面,让您可运行按需 SQL 查询、将 SQL 转换为等效 REST,以及查看结果并将结果保存为文本、JSON、JDBC 或 CSV 格式。有关更多信息,请参阅 Workbench

SQL CLI

SQL CLI 是一个独立的 Python 应用程序,您可以使用 odfesql 命令启动该应用程序。有关安装、配置和使用步骤,请参阅 SQL CLI

JDBC 驱动程序

通过 Java 数据库连接 (JDBC) 驱动程序,您可以将 Amazon ES 域与您最喜欢的商业智能 (BI) 应用程序集成。要开始使用,请参阅 GitHub 存储库。下表汇总了该驱动程序的版本兼容性。

Elasticsearch 版本 JDBC 驱动程序版本
7.10 1.13.0
7.9 1.11.0
7.8 1.9.0
7.7 1.8.0
7.4 1.4.0
7.1 1.0.0
6.8 0.9.0
6.7 0.9.0
6.5 0.9.0

ODBC 驱动程序

开放式数据库连接 (ODBC) 驱动程序是针对 Windows 和 macOS 的只读 ODBC 驱动程序,让您可将商业智能和数据可视化应用程序连接TableauMicrosoft Excel, 和Power BI添加到 SQL 插件。有关下载和使用 JAR 文件的信息,请参阅GitHub 上的 SQL 存储库