Service Quotas - Amazon Athena
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

Service Quotas

注意

Service Quotas 控制台提供有关 Amazon Athena 配额的信息。除了查看默认配额外,还可以使用 Service Quotas 控制台为可调整的配额请求提高配额

查询

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

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

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

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

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

这些是软配额;您可以使用 Athena Service Quotas 控制台请求增加配额。

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

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

查询字符串长度

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

注意

如果您需要更大的查询字符串长度,请通过 athena-feedback@amazon.com 提供反馈(包括您的使用案例的详细信息),或联系 Amazon Web Services Support

工作组

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

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

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

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

数据库、表和分区

  • 如果您正在将 Amazon Glue Data Catalog 与 Athena 搭配使用,请参阅 Amazon Glue 端点和配额,获取有关表、数据库和分区的 Service Quotas 的信息,例如每个账户的最大数据库或表数。

    • 尽管 Athena 支持查询具有 1000 万个分区的 Amazon Glue 表,但 Athena 的单次扫描读取量最多为 100 万个分区。

  • 如果您未使用 Amazon Glue Data Catalog,则每个表的分区数为 20000。您可以请求提高配额

注意

如果您尚未迁移到 Amazon Glue Data Catalog,请参阅按步骤升级到 Amazon Glue Data Catalog 以获取迁移说明。

Amazon S3 存储桶

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

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

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

  • 您可以请求每个 Amazon 账户最多提高 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 容量暴增。要请求提高配额,请联系 Amazon Web Services Support。打开 Amazon Web Services Support center(Amazon Web Services Support 中心)页面,在需要时登录,然后选择 Create case(创建工单)。选择 Service Limit increase (提高服务限制)。填写并提交表格。

注意

无法在 Athena Service Quotas 控制台中更改此配额。