Wie löse ich einen MSCK REPAIR TABLE-Befehl auf, dessen Ausführung zu lange dauert oder in Amazon Athena zu einem Timeout führt?
Ich möchte einen MSCK REPAIR TABLE-Befehl auflösen, dessen Ausführung zu lange dauert oder in Amazon Athena zu einem Timeout führt.
Kurzbeschreibung
Wenn Sie den Befehl MSCK REPAIR TABLE ausführen, listet Athena Präfixe und Objekte in Amazon Simple Storage Service (Amazon S3) auf. Wenn Sie zu viele Amazon S3-Präfixe oder -Objekte haben, dauert es lange, bis der Befehl ausgeführt wird, oder es kommt zu einem Timeout mit einem Fehler.
Verwenden Sie eine der folgenden Methoden, um dieses Problem zu beheben:
- Verwenden Sie die Partitionsprojektion mit Athena.
- Verwenden Sie einen AWS Glue-Crawler, um Partitionen zu Ihren Athena-Tabellen hinzuzufügen.
- Verwenden Sie eine Athena-DDL-Anweisung, um Partitionen zu laden
Lösung
Partitionsprojektion mit Athena verwenden
Verwenden Sie die Partitionsprojektion mit Athena, um Partitionen im Speicher zu generieren. Sie müssen die Partitionen nicht zum AWS-Glue-Datenkatalog hinzufügen oder sie aus dem Datenkatalog abrufen. Athena berechnet den Wert der Tabelle, anstatt eine große Liste von Partitionen zu durchsuchen. Außerdem berechnet die Partitionsprojektion Werte und Speicherorte aus der Konfiguration und nicht aus einem Repository wie dem AWS-Glue-Datenkatalog.
Verwendung eines AWS Glue-Crawler, um Partitionen zu Ihren Athena-Tabellen hinzuzufügen
Gehen Sie wie folgt vor, um mit einem AWS Glue-Crawler Partitionen zu Ihren Athena-Tabellen hinzuzufügen:
- Öffnen Sie die AWS Glue-Konsole.
- Wählen Sie im Navigationsbereich Crawler aus, und wählen Sie dann Crawler erstellen aus.
- Erstellen Sie einen Namen für den Crawler und wählen Sie dann ** Weiter**.
- Wählen Sie unter Datenquellen und Klassifizierer auswählen und unter Datenquellenkonfiguration die Option Ja für Sind Ihre Daten bereits Glue-Tabellen zugeordnet?
- Wählen Sie unter Glue-Tabellen die Option Tabellen hinzufügen aus, und wählen Sie dann die erforderliche Datenbank und Tabelle aus. Wählen Sie Weiter aus.
- Wählen oder Erstellen Sie eine IAM-Rolle für AWS Glue. Wählen Sie Weiter aus.
- Erweitern Sie unter Ausgabe und Planung festlegen die erweiterten Optionen, und wählen Sie dann Folgendes aus:
Ignorieren Sie die Änderung und aktualisieren Sie die Tabelle im Datenkatalog nicht.
Aktualisieren Sie alle neuen und vorhandenen Partitionen mit Metadaten aus der Tabelle.
Ignorieren Sie die Änderung und aktualisieren Sie die Tabelle im Datenkatalog nicht. - Wählen Sie Weiter und dann Crawler erstellen, um die Crawler-Konfiguration zu speichern.
- Wählen Sie Crawler ausführen. Wenn Sie den Crawler ausführen, werden die Partitionen in die Tabelle geladen.
Weitere Informationen finden Sie unter So funktionieren Crawler und Inkrementelle Crawls zum Hinzufügen neuer Partitionen in AWS Glue.
Verwenden Sie eine Athena-DDL-Anweisung, um Partitionen zu laden
Gehen Sie wie folgt vor, um eine Athena-DDL-Anweisung zum Laden von Partitionen zu verwenden:
- Öffnen Sie die Amazon-Athena-Konsole.
- Führen Sie im Reiter Abfrageeditor den Befehl ALTER TABLE ADD PARTITION aus, um die Partitionen zu laden.
Weitere Informationen
Warum dauert die Ausführung meiner Athena-Abfragen so lange?

Relevanter Inhalt
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor 4 Jahren