Warum dauert die Ausführung meiner Amazon-Athena-Abfragen so lange?
Die Ausführung meiner Amazon Athena-Abfragen dauert sehr lange, und die Warteschlangenzeiten für Abfragen sind hoch.
Behebung
Ihre Athena-Abfragen befinden sich möglicherweise vorübergehend in der Warteschlange, bevor sie ausgeführt werden. Die Ausführung von Abfragen kann aufgrund einer hohen Warteschlangenzeit oder einer hohen Engine-Prozesszeit lange dauern.
Rufen Sie die GetQueryExecution-API für Ihre Abfrage-ID auf. Diese API gibt Informationen über eine einzelne verarbeitetet Abfrage aus. Sie können diese Informationen im QueryExecutionStatistics-Parameter der API-Antwort anzeigen. Sie können auch den Athena-Abfrage-Editor verwenden, um Statistiken und Details für abgeschlossene Abfragen anzuzeigen.
Höhere Wartezeit
Ihre Abfragen können aufgrund der hohen Ressourcenauslastung im Backend eine lange Wartezeit haben. Die Wartezeit in Athena hängt von der Ressourcenzuweisung ab. Nachdem Sie Ihre Abfragen an Athena übermittelt haben, werden den Abfragen Ressourcen zugewiesen und anhand der folgenden Kriterien verarbeitet:
- Gesamtauslastung des Dienstes
- Anzahl neuer Anfragen
Wenn Ihre Abfragen eine lange Warteschlangenzeit haben, ergreifen Sie die folgenden Maßnahmen, um die Abfrageleistung zu verbessern:
- Verteilen Sie Ihre Abfragen über einen bestimmten Zeitraum. Wenn Sie Abfragen stapelweise versenden, senden Sie häufiger kleine Stapel, als weniger oft größere Stapel. Dies kann die Zeit reduzieren, in der eine Abfrage im Status QUEUED verbleibt.
- Führen Sie eine Kombination aus einfachen und komplexen Abfragen aus, anstatt eine Reihe komplexer Abfragen gleichzeitig. Senden Sie zuerst einfache Abfragen und dann komplexe Abfragen. Da einfache Abfragen schnell verarbeitet werden, können Sie den komplexen Abfragen Ressourcen ohne lange Wartezeiten zuweisen.
- Vermeiden Sie bei geplanten Abfragen die Zeitrahmen zu Beginn der Stunde und 30 Minuten nach der Stunde. Dies liegt daran, dass die meisten automatisierten Skripte und Cron-Jobs in diesen Zeitrahmen ausgeführt werden. Die Dienstlast ist in diesen Zeiträumen normalerweise hoch und kann zu längeren Wartezeiten führen.
- Wenn Ihr Anwendungsfall dies zulässt, führen Sie Ihre Abfragen in mehreren AWS-Regionen aus, um die Last zu verteilen und mehr Backend-Ressourcen zu erwerben.
Wichtig: Möglicherweise fallen regionsübergreifende Gebühren für Amazon Simple Storage Service (Amazon S3) an.
Höhere Planzeit
Wenn Sie die Tabelle zu stark partitionieren, kann dies zu einer längeren Planzeit führen. Tabellen mit Hunderten oder Tausenden von Partitionen können zu langsameren Abfragezeiten führen. Führen Sie eine der folgenden Aktionen aus, um die Abfrageleistung zu verbessern:
- Erhöhen Sie die Anzahl der Partitionen.
- Fragen Sie jeweils eine Partition ab und verknüpfen Sie die Ergebnisse.
- Verwenden Sie die Partitionsprojektion, um die Abfrageverarbeitung hochgradig partitionierter Tabellen zu beschleunigen und die Partitionsverwaltung zu automatisieren.
Höhere Prozesszeit
Wenn Ihre Abfragen eine höhere Verarbeitungszeit haben, dann ergreifen Sie die folgenden Maßnahmen, um die Abfrageleistung zu verbessern:
- Partitionieren Sie Ihre Tabellen, um die Menge der Daten zu begrenzen, die jede Abfrage durchsucht. Weitere Informationen finden Sie unter Partitioning data in Athena.
- Wenn die Amazon S3-Datei, die Sie abfragen, klein ist, z. B. weniger als 128 MB, dann kann die Abfragezeit höher sein. Der Zeitanstieg ist auf zusätzliche Aufgaben zurückzuführen, z. B. wenn Sie die S3-Datei öffnen, Verzeichnisse auflisten und die Datenübertragung einrichten. Verwenden Sie das Tool S3DistCp in Amazon EMR, um kleinere S3-Dateien zu größeren Objekten zusammenzufassen. Größere Objekte erfordern weniger Amazon S3-Anfragen und verkürzen die Abfragezeit.
- Führen Sie andere Speicher- und Abfrageoptimierungen durch.
Hinweis: Sie können auf der Grundlage der Standardkontingente für Abfragen in Ihrer Region mehrere Abfragen gleichzeitig an Athena senden. Athena weist Ressourcen auf der Grundlage der Gesamtauslastung des Dienstes und der Anzahl der neuen Anfragen zur Bearbeitung von Abfragen zu. Daher werden möglicherweise nicht alle Ihre eingereichten Abfragen gleichzeitig ausgeführt.
Weitere Informationen
Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 2 Jahren