服务限额 - Amazon Athena

服务限额

注意

Service Quotas 控制台提供有关 Amazon Athena 配额的信息。对于可调整的限额,您可以使用服务限额控制台请求增加限额。有关与 AWS Glue 相关的架构限制,请参阅 AWS Glue 端点和限额页面。有关 AWS 服务限额的一般性信息,请参阅 AWS 一般参考 中的 AWS 服务限额

查询

您的账户对于 Amazon Athena 具有以下与查询相关的配额。有关详细信息,请参阅 AWS 一般参考 的 Amazon Athena 端点和限额页面。

  • 活跃 DDL 查询 – 活跃 DDL 查询的数量。DDL 查询包括 CREATE TABLEALTER TABLE ADD PARTITION 查询。

  • DDL 查询超时 – DDL 查询在取消之前可以运行的最长时间(以分钟为单位)。

  • 活跃 DML 查询 – 活跃 DML 查询的数量。DML 查询包括 SELECTCREATE TABLE AS (CTAS) 和 INSERT INTO 查询。具体配额因 AWS 区域而异。

  • DML 查询超时 – DML 查询在取消之前可以运行的最长时间(以分钟为单位)。您可以申请延长此超时时间,但最长不得超过 240 分钟。

要请求增加限额,您可以使用 Athena 服务限额控制台。

Athena 会根据总体服务负载和传入请求的数量,通过分配资源来处理查询。您的查询可能会在运行之前临时排队。异步进程从队列中获取查询,并在资源可用时立即在物理资源上运行它们,只要您的账户配置允许。

DML 或 DDL 查询配额包括正在运行的查询和排队的查询。例如,如果您的 DML 配额为 25,并且正在运行和排队的查询总数为 26,则查询 26 将导致 TooManyRequestsException 错误。

注意

如果您想直接控制在 Athena 中运行的查询的并发性,则可以使用容量预留。有关更多信息,请参阅 管理查询处理容量

查询字符串长度

查询字符串允许的最大长度为 262144 字节,字符串采用 UTF-8 编码。这不是一个可调节的配额。但是,您可以通过将长查询拆分为多个较小的查询来解决此限制。有关更多信息,请参阅 AWS 知识中心中的如何增加 Athena 中的最大查询字符串长度?

工作组

使用 Athena 工作组时,请记住以下几点:

  • Athena 服务配额在账户中的所有工作组之间共享。

  • 可为您账户中的每个区域创建的工作组的最大数量为 1000。

  • 工作组中的最大预处理语句数为 1000。

  • 每个工作组的最大标签数是 50。有关更多信息,请参阅 标签限制

数据库、表和分区

Athena 使用 AWS Glue Data Catalog。有关表、数据库和分区的服务配额(例如,每个帐户的数据库或表的最大数量),请参阅 AWS Glue 端点和配额。请注意,尽管 Athena 支持查询具有 1 千万个分区的 AWS Glue 表,但 Athena 的单次扫描读取量最多为 1 百万个分区。

Amazon S3 存储桶

使用 Amazon S3 存储桶时,请记住以下几点:

  • Amazon S3 的默认服务配额为每个账户 100 个存储桶。

  • Athena 需要一个单独的存储桶来记录结果。

  • 您可以请求每个 AWS 账户最多提高 1000 个 Amazon S3 存储桶的配额。

每个账户 API 调用配额

Athena API 对每个账户的 API 调用数量(不是每个查询)具有以下默认配额:

API 名称 每秒默认调用次数 容量爆增
BatchGetNamedQuery, ListNamedQueries, ListQueryExecutions 5 最多 10 个
CreateNamedQuery, DeleteNamedQuery, GetNamedQuery 5 最多 20 个
BatchGetQueryExecution 20 最多 40 个
StartQueryExecution, StopQueryExecution 20 最多 80 个
GetQueryExecution, GetQueryResults 100 最多 200 个

例如,对于 StartQueryExecution,每秒最多可以调用 20 次。此外,如果此 API 在 4 秒内未被调用,则您账户的容量暴增将累积至最多 80 次调用。在这种情况下,应用程序在突增模式下最多可以对此 API 进行 80 次调用。

如果您使用这些 API 中的任何一个,并且超出了每秒调用次数的默认配额或您账户中的容量暴增,则 Athena API 会发出类似于以下内容的错误:“ClientError: An error occurred (ThrottlingException) when calling the <API_name> operation: Rate exceeded. (ClientError:调用操作时发生错误 (ThrottlingException):超出速率。)” 减少每秒调用次数或此账户的 API 容量暴增。

无法在 Athena Service Quotas 控制台中更改每个账户 API 调用的 Athena 限额。要申请增加 Athena API 调用的限额,请导航到 AWS Support 服务限制提高页面,然后填写并提交表单。