Warum schlägt meine Athena-Abfrage mit dem Fehler „HIVE_PARTITION_SCHEMA_MISMATCH“ fehl?

Lesedauer: 2 Minute
0

Wenn ich eine Amazon-Athena-Abfrage für eine partitionierte Tabelle ausführe, schlägt die Abfrage mit dem Fehler „HIVE_PARTITION_SCHEMA_MISMATCH“ fehl.

Kurzbeschreibung

Wenn Sie eine Abfrage für eine partitionierte Athena-Tabelle ausführen, validiert Athena das Tabellenschema und das Schema der Partitionen im AWS-Glue-Datenkatalog. Bei der Überprüfung werden die Spaltendatentypen der Reihe nach verglichen und sichergestellt, dass die Spaltendatentypen den Spalten entsprechen, die sich überschneiden. Eine neue Partition übernimmt normalerweise das Schema der zugehörigen Tabelle. Bestimmte Szenarien können jedoch dazu führen, dass sich die Schemas im Laufe der Zeit unterscheiden. Wenn der Datentyp für eine Spalte im Partitionsschema nicht mit dem entsprechenden Spaltendatentyp im Tabellenschema übereinstimmt, schlägt Ihre Abfrage mit dem Fehler „HIVE_PARTITION_SCHEMA_MISMATCH“ fehl.

Sie können diesen Fehler mit einer der folgenden Methoden beheben:

  • Wenn Sie einen AWS-Glue-Crawler verwendet haben, um die Tabelle zu erstellen, konfigurieren Sie den AWS-Glue-Crawler, um das Partitionsschema zu aktualisieren.
  • Wenn Sie die Tabelle manuell erstellt haben, verwenden Sie eine DDL-Anweisung (Athena Data Definition Language), um die betroffene Partition zu löschen und die Partition neu zu erstellen.

Behebung

Konfigurieren Sie den AWS-Glue-Crawler, um das Partitionsschema zu aktualisieren

  1. Öffnen Sie die AWS-Glue-Konsole.
  2. Wählen Sie im Navigationsbereich die Option Cluster aus.
  3. Wählen Sie den Crawler aus, den Sie konfigurieren möchten.
  4. Wählen Sie Aktion und dann Crawler bearbeiten.
  5. Wählen Sie Weiter, bis Sie zu Ausgabeseite für den Crawler auswählen gelangen.
  6. Erweitern Sie die Konfigurationsoptionen.
  7. Wählen Sie Alle neuen und vorhandenen Partitionen mit Metadaten aus der Tabelle aktualisieren aus.
  8. Wählen Sie Weiter und dann Fertigstellen, um die Crawler-Konfiguration zu speichern.
  9. Wählen Sie auf der Seite Crawler den Crawler aus, den Sie bearbeitet haben.
  10. Wählen Sie Crawler ausführen. Wenn Sie den Crawler ausführen, übernehmen die Partitionen das Tabellenschema.

Verwenden Sie eine Athena-DDL-Anweisung, um die betroffene Partition zu löschen und die gelöschte Partition neu zu erstellen

  1. Öffnen Sie die Amazon-Athena-Konsole.
  2. Führen Sie auf der Registerkarte Abfrage-Editor den Befehl ALTER TABLE DROP PARTITION aus, um die betroffene Partition zu löschen.
  3. Führen Sie den Befehl ALTER TABLE ADD PARTITION aus, um die gelöschte Partition neu zu erstellen.
    Hinweis: Wenn Ihre Tabelle HIVE-kompatible Partitionen verwendet, können Sie den Befehl MSCK REPAIR TABLE ausführen, um die gelöschte Partition wiederherzustellen.

Weitere Informationen

Das Partitionsschema synchronisieren, um „HIVE_PARTITION_SCHEMA_MISMATCH“ zu vermeiden

Festlegen von Crawler-Konfigurationsoptionen auf der AWS-Glue-Konsole

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 3 Jahren