Direkt zum Inhalt

Wie behebe ich „Query Timeout“-Fehler in Athena?

Lesedauer: 2 Minute
0

Wenn ich eine Abfrage in Amazon Athena ausführe, schlägt sie fehl und ich erhalte den Fehler „Query timeout“.

Lösung

Athena-Abfragen schlagen mit Timeout-Fehlern fehl, wenn sie das DML-Abfrage-Timeout-Kontingent überschreiten. Verwende die folgenden Lösungen, um den Fehler zu beheben.

Die Abfragelaufzeit von Athena reduzieren oder erhöhen

Befolge die Anleitung unter Wie behebe ich „Query Timeout“-Fehler, wenn ich Daten von Athena in QuickSight SPICE importiere?

Benachrichtigungen für Athena-Abfrage-Timeouts einrichten

Um eine Benachrichtigung für Abfragen zu erhalten, bei denen ein Timeout auftritt und die fehlschlagen, verwende eine Amazon-CloudWatch-Ereignisregel, um das Ereignis zu erfassen. Verwende dann Amazon Simple Notification Service (Amazon SNS), um Benachrichtigungen einzurichten.

Amazon-S3-Zugriffsprotokolle abfragen

Wenn du Abfragen für Amazon Simple Storage Service (Amazon S3)-Zugriffsprotokolle ausführst und bei der Abfrage ein Timeout auftritt, verwende einen AWS-Glue-ETL-Auftrag, um die Amazon-S3-Daten zu partitionieren. Führe dann Athena-Abfragen auf begrenzten Partitionen aus. Eine Anleitung findest du unter Wie verwende ich ein partitioniertes Amazon-S3-Zugriffsprotokoll, um ein Athena-Abfrage-Timeout zu verhindern?

CloudTrail-Daten abfragen

Wenn du Athena verwendest, um AWS-CloudTrail-Daten abzufragen, kann es lange dauern, bis die Abfragen ausgeführt werden, oder es kommt zu einem Timeout. Dies liegt daran, dass CloudTrail-Protokolle mit der Zeit größer werden, selbst wenn du die CloudTrail-Tabelle partitionierst, um die Laufzeit der Abfragen zu reduzieren.

Verwende die Partitionsprojektion, um manuell eine CloudTrail-Tabelle zu erstellen. Dadurch kann Athena den Wert von CloudTrail-Tabellen dynamisch berechnen und die Laufzeit der Abfragen reduzieren. Die Partitionsprojektion berechnet Partitionswerte und Speicherorte anhand der Konfiguration. Dadurch entfällt die manuelle Partitionsverwaltung.

CTAS-Abfragen verwenden

Um die Abfrageleistung zu verbessern, verwende eine CREATE TABLE AS SELECT (CTAS)-Abfrage, um eine neue Tabelle in Athena aus den Ergebnissen einer SELECT-Anweisung aus einer anderen Abfrage zu erstellen. CTAS erstellt in einem Schritt Tabellen aus Abfrageergebnissen, um die Verwendung von Rohdatensätzen zu vereinfachen. CTAS-Abfragen verbessern auch die Abfrageleistung und reduzieren die Abfragekosten. Beispiele findest du unter Beispiele für CTAS-Abfragen.

Die Anweisungen EXPLAIN und EXPLAIN ANALYZE verwenden

Verwende EXPLAIN und EXPLAIN ANALYZE in Athena für komplexe Abfragen. Die EXPLAIN-Anweisung verfeinert SQL-Anweisungen und überprüft die Partitionsbereinigung, um Abfragen zu optimieren. Es hat sich bewährt, die Überlegungen und Einschränkungen für EXPLAIN- und EXPLAIN ANALYZE-Anweisungen zu überprüfen.

Weitere Informationen findest du unter EXPLAIN-Beispiele und EXPLAIN ANALYZE-Beispiele.

Ähnliche Informationen

Die 10 besten Tipps zur Leistungsoptimierung für Amazon Athena

Wie verwende ich die Ergebnisse einer Amazon-Athena-Abfrage in einer anderen Abfrage?