跳至內容

如何解決 Athena 中的「Query timeout」錯誤?

1 分的閱讀內容
0

當我在 Amazon Athena 中執行查詢時,查詢失敗,且我收到「Query timeout」錯誤。

解決方法

Athena 查詢超過 DML 查詢逾時配額時,查詢會因逾時錯誤而失敗。若要解決此錯誤,請使用以下解決方案。

從 Athena 縮短或延長查詢執行時期

請依照將資料從 Athena 匯入 QuickSight SPICE 時,如何解決「query timeout」錯誤?中的指示操作

設定 Athena 查詢逾時通知

若要在查詢逾時並失敗時接收通知,請使用 Amazon CloudWatch 事件規則擷取事件。然後,使用 Amazon Simple Notification Service (Amazon SNS) 設定通知

查詢 Amazon S3 存取日誌

如果您對 Amazon Simple Storage Service (Amazon S3) 存取日誌執行查詢且查詢逾時,請使用 AWS Glue ETL 作業將 Amazon S3 資料分區。接著,針對有限數量的分區執行 Athena 查詢。如需指示,請參閱如何使用已分區的 Amazon S3 存取日誌防止 Athena 查詢逾時?

查詢 CloudTrail 資料

如果您使用 Athena 查詢 AWS CloudTrail 資料,查詢可能需要很長時間才能完成,或可能逾時。這是因為即使您將 CloudTrail 資料表分區以縮短查詢執行時期,CloudTrail 日誌的大小仍會隨著時間成長。

使用分區投影手動建立 CloudTrail 資料表。這可讓 Athena 動態計算 CloudTrail 資料表的值,並縮短查詢執行時期。分區投影會根據組態計算分區值和位置,因此不需要手動管理分區。

使用 CTAS 查詢

若要提高查詢效能,請使用 CREATE TABLE AS SELECT (CTAS) 查詢,根據另一個查詢中 SELECT 陳述式的結果,在 Athena 中建立新資料表CTAS 會在一個步驟中從查詢結果建立資料表,讓原始資料集更容易使用。CTAS 查詢也能提升查詢效能並降低查詢成本。如需範例,請參閱 CTAS 查詢範例

使用 EXPLAIN 和 EXPLAIN ANALYZE 陳述式

對於 Athena 中的複雜查詢,請使用 EXPLAIN 和 EXPLAIN ANALYZEEXPLAIN 陳述式會調整 SQL 陳述式,並驗證分區修剪以最佳化查詢。最佳實務是檢閱 EXPLAINEXPLAIN ANALYZE 陳述式的考量事項和限制

如需更多資訊,請參閱 EXPLAIN 範例EXPLAIN ANALYZE 範例

相關資訊

Amazon Athena 的 10 大效能調校秘訣

如何在另一個查詢作業中使用 Amazon Athena 查詢的結果?