本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
直接查询 OpenSearch 服务中的 Amazon S3 数据
本节将引导您完成在 Amazon Ser OpenSearch vice 中创建和配置数据源集成的过程,使您能够高效地查询和分析存储在 Amazon S3 中的数据。
在接下来的页面中,您将学习如何设置 Amazon S3 直接查询数据源、浏览必要的先决条件,以及如何使用和 OpenSearch 服务 API 按照 step-by-step步骤操作。 Amazon Web Services 管理控制台 它还涵盖了重要的后续步骤,包括映射 Amazon 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 服务域,并且需要 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 命令。
建议
在 Amazon S3 中使用直接查询时,我们建议采取以下措施:
-
使用年、月、日、小时的分区格式将数据摄取到 Amazon S3 中,以加快查询速度。
-
构建跳过索引时,请对基数较高的字段使用 Bloom 过滤器,对值范围较大的字段使用 min/max 索引。对于高基数字段,建议采用基于值的方法以提升查询效率。
-
使用索引状态管理以维持实体化视图和覆盖索引所需的存储。
-
使用
COALESCE SQL函数处理缺失的列并确保返回结果。 -
对查询设置限制,确保不会提取太多数据。
配额
每次您启动对 Amazon S3 数据源的查询时, OpenSearch 服务都会打开一个会话并使其保持至少三分钟的活动状态。这可通过消除后续查询中的会话启动时间减少查询延迟。
| 说明 | 最大值 | 可以覆盖 |
|---|---|---|
| 每个域的连接数 | 10 | 是 |
| 每个域的数据来源数 | 20 | 是 |
| 每个域的索引数 | 5 | 是 |
| 每个数据来源的并行会话数 | 10 | 是 |
| 每次查询的最大 OCU | 60 | 是 |
| 最大查询执行时间(分钟) | 30 | 是 |
| OCUs 每次加速度的最大值 | 20 | 是 |
| 最大临时存储 | 20 | 是 |
支持的 Amazon Web Services 区域
在 Amazon S3 中支持以下 Amazon Web Services 区域 方式进行直接查询:
-
亚太地区(香港)
-
亚太地区(孟买)
-
亚太地区(首尔)
-
亚太地区(新加坡)
-
亚太地区(悉尼)
-
亚太地区(东京)
-
加拿大(中部)
-
欧洲地区(法兰克福)
-
欧洲地区(爱尔兰)
-
欧洲地区(斯德哥尔摩)
-
美国东部(弗吉尼亚州北部)
-
美国东部(俄亥俄州)
-
美国西部(俄勒冈州)