View a markdown version of this page

直接查询 OpenSearch 服务中的 Amazon S3 数据 - 亚马逊 OpenSearch 服务

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

直接查询 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 区域 方式进行直接查询:

  • 亚太地区(香港)

  • 亚太地区(孟买)

  • 亚太地区(首尔)

  • 亚太地区(新加坡)

  • 亚太地区(悉尼)

  • 亚太地区(东京)

  • 加拿大(中部)

  • 欧洲地区(法兰克福)

  • 欧洲地区(爱尔兰)

  • 欧洲地区(斯德哥尔摩)

  • 美国东部(弗吉尼亚州北部)

  • 美国东部(俄亥俄州)

  • 美国西部(俄勒冈州)