服务限额
注意
Service Quotas 控制台提供有关 Amazon Athena 配额的信息。对于可调整的限额,您可以使用服务限额控制台请求增加限额
查询
您的账户对于 Amazon Athena 具有以下与查询相关的配额。有关详细信息,请参阅 AWS 一般参考 的 Amazon Athena 端点和限额页面。
-
活跃 DDL 查询 – 活跃 DDL 查询的数量。DDL 查询包括
CREATE TABLE
和ALTER TABLE ADD PARTITION
查询。 -
DDL 查询超时 – DDL 查询在取消之前可以运行的最长时间(以分钟为单位)。
-
活跃 DML 查询 – 活跃 DML 查询的数量。DML 查询包括
SELECT
、CREATE 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 服务限制提高