

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

# 直接查询 OpenSearch 服务中的 Amazon S3 数据
<a name="direct-query-s3-overview"></a>

本节将引导您完成在 Amazon Ser OpenSearch vice 中创建和配置数据源集成的过程，使您能够高效地查询和分析存储在 Amazon S3 中的数据。

在接下来的页面中，您将学习如何设置 Amazon S3 直接查询数据源、浏览必要的先决条件，以及如何使用和 OpenSearch 服务 API 按照 step-by-step步骤操作。 Amazon Web Services 管理控制台 它还涵盖了重要的后续步骤，包括映射 Amazon Glue Data Catalog 角色和在 OpenSearch 仪表板中配置访问控制。

**Topics**
+ [在 OpenSearch 服务中创建 Amazon S3 数据源集成](direct-query-s3-creating.md)
+ [在 OpenSearch 控制面板中配置和查询 S3 数据源](direct-query-s3-configure.md)
+ [定价](#direct-query-s3-pricing)
+ [限制](#direct-query-s3-limitations)
+ [建议](#direct-query-s3-recommendations)
+ [配额](#direct-query-s3-quotas)
+ [支持的 Amazon Web Services 区域](#direct-query-s3-regions)

## 定价
<a name="direct-query-s3-pricing"></a>

亚马逊 OpenSearch 服务为亚马逊 S3 直接查询提供 OpenSearch 计算单位 (OCU) 定价。当你运行直接查询时，你会产生 OCUs 每小时的费用，这些费用列为账单上的 DirectQuery OCU 使用类型。您还需要向 Amazon S3 支付单独的数据存储费用。

直接查询分为两种类型：交互式查询和索引视图查询。
+ *交互式查询*用于填充数据选择器并对 Amazon S3 中的数据进行分析。当您从 Discover 中运行新查询时，Serv OpenSearch ice 会启动一个持续至少三分钟的新会话。 OpenSearch 服务使此会话保持活动状态，以确保后续查询快速运行。
+ *索引视图查询*使用计算来维护服务中的索引视图。 OpenSearch 此类查询通常耗时更长，因为其将不同数量的数据量摄取到指定索引中。对于 Amazon S3 数据来源，索引数据根据购买的实例类型存储在域中。

有关更多信息，请参阅 [Amazon OpenSearch 服务定价](https://www.amazonaws.cn/opensearch-service/pricing/)中的 “直接查询” 和 “无服务器” 部分。

## 限制
<a name="direct-query-s3-limitations"></a>

以下限制适用于 Amazon S3 中的直接查询：
+ S3 的直接查询仅适用于运行 2.13 或更高 OpenSearch版本的 OpenSearch 服务域，并且需要 Amazon Glue Data Catalog访问权限。必须在 Quer OpenSearch y Workbench 中使用 SQL 重新创建现有 Amazon Glue Data Catalog 表。
+ 直接查询 S3 需要您在 Amazon S3 上指定一个检查点存储桶。此存储桶维护索引视图的状态，包括上次刷新时间和最近摄取的数据。
+ 您的 OpenSearch 域名和 Amazon Glue Data Catalog 必须相同 Amazon Web Services 账户。您的 S3 存储桶可以位于不同的账户中（需要将条件添加到您的 IAM 策略中），但必须与您的域位于同一个 Amazon Web Services 区域 账户中。
+ OpenSearch 使用 S3 的服务直接查询仅支持从 Query Workbench 生成的 Spark 表。Spark 流式传输不支持在 Amazon Glue Data Catalog 或 Athena 中生成的表，这是维护索引视图所必需的。
+ OpenSearch 实例类型的网络负载限制为 10 MiB 或 100 MiB，具体取决于您选择的特定实例类型。
+ 某些数据类型不支持。支持的数据类型仅限于 Parquet、CSV 和 JSON。
+ 如果数据结构随着时间的推移而发生变化，则需要更新索引视图或 out-of-the-box集成，以应对数据结构的变化。
+ Amazon CloudFormation 尚不支持模板。
+ OpenSearch 与使用直接查询相比，SQ OpenSearch L 和 PPL 语句在使用 OpenSearch 索引时有不同的限制。直接查询支持子查询和查找等 JOINs高级命令，而 OpenSearch 索引上对这些命令的支持有限或根本不存在。有关更多信息，请参阅 [支持的 SQL 和 PPL 命令](direct-query-supported-commands.md)。

## 建议
<a name="direct-query-s3-recommendations"></a>

在 Amazon S3 中使用直接查询时，我们建议采取以下措施：
+ 使用年、月、日、小时的分区格式将数据摄取到 Amazon S3 中，以加快查询速度。
+ 构建跳过索引时，请对基数较高的字段使用 Bloom 过滤器，对值范围较大的字段使用 min/max 索引。对于高基数字段，建议采用基于值的方法以提升查询效率。
+ 使用索引状态管理以维持实体化视图和覆盖索引所需的存储。
+ 使用 `COALESCE SQL` 函数处理缺失的列并确保返回结果。
+ 对查询设置限制，确保不会提取太多数据。

## 配额
<a name="direct-query-s3-quotas"></a>

每次您启动对 Amazon S3 数据源的查询时， OpenSearch 服务都会打开一个*会话*并使其保持至少三分钟的活动状态。这可通过消除后续查询中的会话启动时间减少查询延迟。


| 说明 | 最大值 | 可以覆盖 | 
| --- | --- | --- | 
| 每个域的连接数 | 10 | 是 | 
| 每个域的数据来源数 | 20 | 是 | 
| 每个域的索引数 | 5 | 是 | 
| 每个数据来源的并行会话数 | 10 | 是 | 
| 每次查询的最大 OCU | 60 | 是 | 
| 最大查询执行时间（分钟） | 30 | 是 | 
|  OCUs 每次加速度的最大值 | 20 | 是 | 
| 最大临时存储 | 20 | 是 | 

## 支持的 Amazon Web Services 区域
<a name="direct-query-s3-regions"></a>

在 Amazon S3 中支持以下 Amazon Web Services 区域 方式进行直接查询：
+ 亚太地区（香港）
+ 亚太地区（孟买）
+ 亚太地区（首尔） 
+ 亚太地区（新加坡）
+ 亚太地区（悉尼）
+ 亚太地区（东京）
+ 加拿大（中部）
+ 欧洲地区（法兰克福）
+  欧洲地区（爱尔兰）
+ 欧洲地区（斯德哥尔摩）
+ 美国东部（弗吉尼亚州北部）
+ 美国东部（俄亥俄州）
+ 美国西部（俄勒冈州）