本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
直接查询 OpenSearch 服务中的 Amazon S3 数据
本节将引导您完成在 Amazon Ser OpenSearch vice 中创建和配置数据源集成的过程,使您能够高效地查询和分析存储在 Amazon S3 中的数据。
在接下来的页面中,您将学习如何设置 Amazon S3 直接查询数据源、浏览必要的先决条件,以及如何使用和 OpenSearch 服务 API 按照 step-by-step步骤操作。 AWS 管理控制台 它还涵盖了重要的后续步骤,包括映射 AWS Glue Data Catalog 角色和在 OpenSearch 仪表板中配置访问控制。
定价
亚马逊 OpenSearch 服务为亚马逊 S3 直接查询提供 OpenSearch 计算单位 (OCU) 定价。当你运行直接查询时,你会产生 OCUs 每小时的费用,这些费用列为账单上的 DirectQuery OCU 使用类型。您还需要向 Amazon S3 支付单独的数据存储费用。
直接查询分为两种类型:交互式查询和索引视图查询。
-
交互式查询用于填充数据选择器并对 Amazon S3 中的数据进行分析。当您从 Discover 中运行新查询时,Serv OpenSearch ice 会启动一个持续至少三分钟的新会话。 OpenSearch 服务使此会话保持活动状态,以确保后续查询快速运行。
-
索引视图查询使用计算来维护服务中的索引视图。 OpenSearch 此类查询通常耗时更长,因为其将不同数量的数据量摄取到指定索引中。对于 Amazon S3 数据来源,索引数据根据购买的实例类型存储在域中。
有关更多信息,请参阅 Amazon OpenSearch 服务定价
限制
以下限制适用于 Amazon S3 中的直接查询:
-
S3 的直接查询仅适用于运行 2.13 或更高 OpenSearch版本的 OpenSearch 服务域,并且需要 AWS Glue Data Catalog访问权限。必须在 Quer OpenSearch y Workbench 中使用 SQL 重新创建现有 AWS Glue Data Catalog 表。
-
直接查询 S3 需要您在 Amazon S3 上指定一个检查点存储桶。此存储桶维护索引视图的状态,包括上次刷新时间和最近摄取的数据。
-
您的 OpenSearch 域名和 AWS Glue Data Catalog 必须相同 AWS 账户。您的 S3 存储桶可以位于不同的账户中(需要将条件添加到您的 IAM 策略中),但必须与您的域位于同一个 AWS 区域 账户中。
-
OpenSearch 使用 S3 的服务直接查询仅支持从 Query Workbench 生成的 Spark 表。Spark 流式传输不支持在 AWS Glue Data Catalog 或 Athena 中生成的表,这是维护索引视图所必需的。
-
OpenSearch 实例类型的网络负载限制为 10 MiB 或 100 MiB,具体取决于您选择的特定实例类型。
-
某些数据类型不支持。支持的数据类型仅限于 Parquet、CSV 和 JSON。
-
如果数据结构随着时间的推移而发生变化,则需要更新索引视图或 out-of-the-box集成,以应对数据结构的变化。
-
AWS CloudFormation 尚不支持模板。
-
OpenSearch 与使用直接查询相比,SQ OpenSearch L 和 PPL 语句在使用 OpenSearch 索引时有不同的限制。直接查询支持子查询和查找等 JOINs高级命令,而 OpenSearch 索引上对这些命令的支持有限或根本不存在。有关更多信息,请参阅 支持的 SQL 和 PPL 命令。
建议
在 Amazon S3 中使用直接查询时,我们建议采取以下措施:
-
使用年、月、日、小时的分区格式将数据摄取到 Amazon S3 中,以加快查询速度。
-
构建跳过索引时,请对基数较高的字段使用 Bloom 过滤器,对值范围较大的字段使用 min/max 索引。对于高基数字段,建议采用基于值的方法以提升查询效率。
-
使用索引状态管理以维持实体化视图和覆盖索引所需的存储。
-
使用
COALESCE SQL函数处理缺失的列并确保返回结果。 -
对查询设置限制,确保不会提取太多数据。
配额
每次您启动对 Amazon S3 数据源的查询时, OpenSearch 服务都会打开一个会话并使其保持至少三分钟的活动状态。这可通过消除后续查询中的会话启动时间减少查询延迟。
| 说明 | 最大值 | 可以覆盖 |
|---|---|---|
| 每个域的连接数 | 10 | 是 |
| 每个域的数据来源数 | 20 | 是 |
| 每个域的索引数 | 5 | 是 |
| 每个数据来源的并行会话数 | 10 | 是 |
| 每次查询的最大 OCU | 60 | 是 |
| 最大查询执行时间(分钟) | 30 | 是 |
| OCUs 每次加速度的最大值 | 20 | 是 |
| 最大临时存储 | 20 | 是 |
支持的 AWS 区域
在 Amazon S3 中支持以下 AWS 区域 方式进行直接查询:
-
亚太地区(香港)
-
亚太地区(孟买)
-
亚太地区(首尔)
-
亚太地区(新加坡)
-
亚太地区(悉尼)
-
亚太地区(东京)
-
加拿大(中部)
-
欧洲地区(法兰克福)
-
欧洲地区(爱尔兰)
-
欧洲地区(斯德哥尔摩)
-
美国东部(弗吉尼亚州北部)
-
美国东部(俄亥俄州)
-
美国西部(俄勒冈州)