管理查询处理容量 - Amazon Athena
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

管理查询处理容量

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

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

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

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

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

  • 隔离重要查询:为确保重要工作负载在需要时拥有所需的容量,请创建容量预留并将其工作组分配给预留。只有来自已分配工作组的查询才使用预留的处理能力。例如,为了确保可靠地执行支持生产应用程序的查询,可以将这些查询的生产工作组分配给容量预留。开发查询时,请使用与预留无关联的单独工作组,并在准备就绪后将查询移至生产工作组。

  • 在相似工作负载间共享容量:多个工作负载可共享同一预留的容量。这使您可以预测这些工作负载的成本和控制其并发性。例如,如果您有能够容忍查询执行启动时间延迟的计划工作负载,则可以将其工作组分配给单个预留。这可以为在同一账户中运行的交互式查询腾出您的 DDL 和 DML 查询配额,从而确保这些查询以最小的延迟启动。

了解 DPU

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

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

注意事项和限制

  • 您可以在同一账户中同时使用容量预留和基于扫描数据的按查询计费。

  • 在容量预留上运行的查询不会计入您的 DDL 和 DML 查询配额。

  • 如果您的容量忙于处理其他查询,则新提交的查询将排队等候,直到容量可用为止。队列中允许的最长时间为 10 小时。

  • 一个工作组一次只能分配给一个容量预留。您总共可以为单个预留分配 20 个工作组。当您将多个工作组分配给预留时,容量将在各工作组之间共享,并根据查询的提交顺序分配给查询。由于 Athena 向查询动态分配容量的方式,执行顺序可能会有所不同。

  • Athena 会根据查询的复杂程度自动为 DML 查询分配 4 到 124 个 DPU。每个 DDL 查询消耗 4 个 DPU。请参阅以下主题了解更多信息:

  • 每个容量预留所需的最低 DPU 数量为 24。初次为预留分配容量时,最短计费周期为 1 小时。超出 1 小时,则按分钟对容量计费。有关定价信息,请参阅 Amazon Athena 定价

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

  • 容量请求无法保证,并且可能需要花费 30 分钟时间完成。容量无法转移到另一个容量预留、Amazon Web Services 账户或 Amazon Web Services 区域。

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

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

  • 不支持配置为使用 Apache Spark 的工作组。

  • 以下 Amazon Web Services 区域提供容量预留:

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

    • 美国东部(俄亥俄州)

    • 美国西部(俄勒冈州)

    • 亚太地区(孟买)

    • 亚太地区(新加坡)

    • 亚太地区(悉尼)

    • 亚太地区(东京)

    • 欧洲地区(爱尔兰)

    • 欧洲(西班牙)

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

    • 南美洲(圣保罗)