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

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

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

您可以使用 SQL 查询您的 Amazon OpenSearch Service,而不是使用基于 JSON 的 OpenSearch 查询 DSL。如果您已经熟悉该语言,或者希望将您的域与使用该语言的应用程序集成,那么使用 SQL 查询非常有用。

使用下表查找每个 OpenSearch 和 Elasticsearch 版本支持的 SQL 插件版本。

OpenSearch
OpenSearch 版本 SQL 插件版本 显著功能
2.11.0 2.11.0.0

添加对 PPL 语言和查询的支持

2.9.0 2.9.0.0

添加 Spark 连接器,支持表和 PromQL 函数

2.7.0 2.7.0.0

添加 datasource API

2.5.0 2.5.0.0

2.3.0 2.3.0.0

添加 maketimemakedate 日期时间函数

1.3.0 1.3.0.0

支持默认查询限制大小,以及可从值列表中选择的 IN 子句

1.2.0 1.2.0.0

增加新的可视化响应格式协议

1.1.0

1.1.0.0

支持将匹配函数作为 SQL 和 PPL 中的过滤器

1.0.0 1.0.0.0 支持查询数据流
Open Distro for Elasticsearch
Elasticsearch 版本 SQL 插件版本 显著功能
7.10 1.13.0 window 函数 NULL FIRST 和 LAST、CAST()函数,SHOW 和 DESCRIBE 命令
7.9 1.11.0 添加额外的日期/时间函数,按关键字排序
7.8 1.9.0
7.7 1.8.0

7.3

1.3.0 多个字符串和数字运算符
7.1 1.1.0

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

调用示例

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

POST domain-endpoint/_plugins/_sql { "query": "SELECT * FROM my-index LIMIT 50" }
注意

如果您的域运行的是 Elasticsearch 而不是 OpenSearch,那么格式为 _opendistro/_sql

说明和差异

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

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

OpenSearch SQL 插件包括许多可优化的设置。在 OpenSearch Service 中,请使用 _cluster/settings 路径,而不是插件设置路径 (_plugins/_query/settings):

PUT _cluster/settings { "transient" : { "plugins.sql.enabled" : true } }

对于旧式 Elasticsearch 域,请将 plugins 替换为 opendistro

PUT _cluster/settings { "transient" : { "opendistro.sql.enabled" : true } }

SQL Workbench

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

SQL CLI

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

JDBC 驱动程序

通过 Java 数据库连接 (JDBC) 驱动程序,您可以将 OpenSearch Service 域与您最喜欢的商业智能 (BI) 应用程序集成。要下载驱动程序,请单击此处。有关更多信息,请参阅 GitHub 存储库

下表汇总了驱动程序的版本兼容性。

OpenSearch
OpenSearch 版本 JDBC 驱动程序版本
2.1.1 1.1.0.1
2.9 1.1.0.1
2.7 1.1.0.1
2.5 1.1.0.1
2.3 1.1.0.1
1.3 1.1.0.1
1.2 1.1.0.1
1.1 1.1.0.1
1.0 1.1.0.1
Open Distro for Elasticsearch
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 驱动程序,让您可将 Microsoft Excel 等商业智能和数据可视化应用程序连接到 SQL 插件。

您可以在 OpenSearch 构件页面下载示例运行驱动程序文件。有关安装驱动程序的信息,请参阅 GitHub 上的 SQL 存储库