管理查询处理容量 - Amazon Athena

管理查询处理容量

可以使用容量预留为您在 Athena 中运行的查询指定专用处理容量。可通过容量预留,利用工作负载管理功能,帮助您控制和扩展最重要的交互式工作负载并确定其优先级。例如,您可以随时添加容量以增加可并发运行的查询数量,控制可以使用容量的工作负载,并在工作负载之间共享容量。容量完全由 Athena 托管,只要您需要,可以保留任意长的时间。设置简单,无需更改 SQL 语句。

要获取查询的处理容量,可创建容量预留,指定所需的数据处理单元(DPU)数,并为预留分配一个或多个工作组。

在您使用容量预留时,工作组至关重要。工作组可用于将查询分为不同的逻辑分组。可通过容量预留,有选择地将容量分配给工作组,从而控制每个工作组的查询行为方式和计费方式。有关工作组的更多信息,请参阅 使用工作组控制查询访问和成本

可通过将工作组分配给预留,优先处理提交给已分配工作组的查询。例如,您可以向工作组分配为用于时间敏感型财务报告查询的容量,以将这些查询与另一个工作组中不太重要的查询隔离开来。这样可以为关键工作负载提供一致的查询执行,同时允许其他工作负载独立运行。

您可以同时使用容量预留和工作组来满足不同的需求。下面是一些示例方案:

  • 隔离 - 要隔离重要工作负载,您可以将单一工作组分配给一个预留。只有来自已分配工作组的查询才使用所选预留的处理能力。

  • 共享 – 多个工作负载可以共享一个预留中的容量。例如,如果您需要一组特定工作负载的可预测每月成本,则可以将多个工作组分配给单一预留。分配的工作组共享预留容量。

  • 混合模型 – 您可以在同一账户中同时使用容量预留和按查询计费。例如,为了确保可靠地执行支持生产应用程序的查询,可以将这些查询的一个工作组分配给容量预留。要先制定查询再将其移至生产工作组,您可以使用与预留无关联且使用按查询计费的单独工作组。

了解 DPU

容量以数据处理单元(DPU)数进行度量。DPU 表示 Athena 代表您访问和处理数据时所使用的计算和内存资源。一个 DPU 提供 4 个 vCPU 和 16GB 内存。所指定的 DPU 数会影响可以并发运行的查询数。例如,具有 256 个 DPU 的预留所支持的并发查询数大约是具有 128 个 DPU 的预留的两倍。

您最多可以创建 100 个容量预留,每个账户和区域最多可以具有 1000 个 DPU。您至少可以请求 24 个 DPU。如果您的使用案例需要超过 1000 个 DPU,请联系 athena-feedback@amazon.com

有关估算容量需求的信息,请参阅 确定容量要求。有关定价信息,请参阅 Amazon Athena 定价

注意事项和限制

  • 该功能需要 Athena 引擎版本 3

  • 一次最多可以将一个工作组分配给一个预留,并且您最多可以向一个预留添加 20 个工作组。

  • 您不能将启用 Spark 的工作组添加至容量预留。

  • 要删除已分配给预留的工作组,请先将该工作组从预留中移除。

  • 您至少可以预置 24 个 DPU。

  • 您最多可以创建 100 个容量预留,每个账户和区域最多可以具有 1000 个 DPU。

  • 容量请求无法保证,并且可能需要花费 30 分钟时间完成。

  • 每个预留的计费周期至少为 1 小时。超出 1 小时,则按分钟对容量计费。有关定价信息,请参阅 Amazon Athena 定价

  • 预留容量无法转移到另一个容量预留 AWS 账户 或 AWS 区域。

  • 对容量预留的 DDL 查询会消耗 DPU。

  • 在预置容量上运行的查询不计入 DDL 和 DML 的活动查询限制。

  • 如果所有 DPU 都在使用中,则已提交查询将排队。此类查询不会遭拒,也不会进入按需容量。

  • DPUConsumed CloudWatch 指标是按工作组计算,而不是按预留量计算。因此,如果将工作组从一个预留转移到另一个预留,则 DPUConsumed 指标将包含从该工作组属于第一个预留起的数据。有关在 Athena 中使用 CloudWatch 指标的更多信息,请参阅使用 CloudWatch 监控 Athena 查询指标

  • 目前,该功能适用于以下 AWS 区域:

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

    • 美国东部(俄亥俄州)

    • 美国西部(俄勒冈州)

    • 亚太地区(新加坡)

    • 亚太地区(悉尼)

    • 亚太地区(东京)

    • 欧洲地区(爱尔兰)

    • 欧洲(西班牙)

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

    • 南美洲(圣保罗)