如何解決 Athena 的服務配額錯誤?

1 分的閱讀內容
0

我想解決 Amazon Athena 的服務配額錯誤。

簡短說明

如果您的 Athena 查詢因為服務配額錯誤而失敗,您可能會收到下列其中一種錯誤回應:

  • TooManyRequestsException
  • ThrottlingException
  • 查詢逾時
  • QueryString 失敗

若要檢查不同 AWS 區域的 Athena endpoints and quotas 值,請參閱 Service quotas

解決方法

**注意:**在開始之前,請檢查您目前的 Athena 配額。

TooManyRequestsException

DML 或 DDL 查詢配額包含執行中和已排入佇列的查詢。若您提交的查詢數量超過 DML 指定的限制,或超過 DDL 查詢數量,就會看到 TooManyRequestsException 錯誤回應。Athena 中的常見 DDL 查詢包括 ALTER TABLE ADD PARTITIONCREATE TABLEDROP。Athena 中常見的 DML 查詢包括 SELECTCREATE TABLE AS (CTAS)INSERT INTO

若要查看目前的佇列,請使用下列其中一種方法:

**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤,請參閱 Troubleshoot AWS CLI errors。此外,請確定您使用的是最新的 AWS CLI 版本

  • 開啟 Athena 主控台,然後導覽至最近的查詢索引標籤以檢視所有作用中的查詢。
  • 執行 list-query-executions AWS CLI 命令,以檢視所有可用的查詢 ID。

**注意:**當您提高查詢並行性後,您可以提交更多查詢,但無法擁有更多查詢資源。查詢會維持已排入佇列狀態,直到 Athena 提供相關資源來執行這些查詢。

若要解決此錯誤,請使用 Athena 佈建的容量來提高查詢並行性、管理存取容量的工作負載,並與工作負載共用容量。如需更多資訊,請參閱 Managing query processing capacity。如需更多關於容量保留定價的資訊,請參閱 Amazon Athena 定價

如需進一步疑難排解,請參閱 How do I resolve the TooManyRequestsException error in Amazon Athena?

ThrottlingException

Athena 擁有每個 AWS 帳戶 API 呼叫配額。如果您超過您的 API 配額,您會收到類似下列內容的錯誤訊息:

「ClientError: 呼叫 <API_name> 作業時發生錯誤 (ThrottlingException): Rate exceeded。」

若要解決此錯誤,請降低 API 呼叫頻率,並使用重試邏輯。如需更多資訊,請參閱 Managing and monitoring API throttling in your workloads 中的 Retry logic 區段。

查詢逾時

當查詢超過預先定義的時間上線後,就會發生逾時。DML 查詢的預先定義時間上限為 30 分鐘。若要解決此錯誤,請參閱 How can I resolve "Query Timeout" errors in Athena?

QueryString 失敗

Athena 的查詢字串長度上限為 262,144 個位元組 (B),您無法調整此配額。若要防止查詢字串失敗,請將過長的查詢分割成較小查詢。如需更多資訊,請參閱 How can I increase the maximum query string length in Amazon Athena?

AWS 官方
AWS 官方已更新 10 個月前