Wie behebe ich die Ausnahme „HIVE_PATH_ALREADY_EXISTS“, wenn ich eine CTAS-Abfrage in Amazon Athena ausführe?

Lesedauer: 1 Minute
0

Wenn ich in Amazon Athena eine CREATE TABLE AS SELECT (CTAS)-Abfrage ausführe, erhalte ich die Ausnahme: "HIVE_PATH_ALREADY_EXISTS: Zielverzeichnis für die Tabelle.“

Lösung

Wenn Sie den Parameter external_location in der CTAS-Abfrage verwenden, stellen Sie sicher, dass Sie einen leeren Amazon Simple Storage Service (Amazon S3)-Speicherort angeben. Der Amazon S3-Speicherort, den Sie zum Speichern der CTAS-Abfrageergebnisse verwenden, darf keine Daten enthalten. Wenn Sie Ihre CTAS-Abfrage ausführen, überprüft die Abfrage, ob der Dateipfad oder das Präfix im Amazon S3-Bucket keine Daten enthält. Wenn der Amazon S3-Speicherort bereits Daten enthält, überschreibt die Abfrage die Daten nicht.

Um den Amazon S3-Speicherort zu verwenden, der Daten Ihrer CTAS-Abfrage enthält, löschen Sie die Daten im Schlüsselpräfix-Speicherort im Bucket. Andernfalls schlägt Ihre CTAS-Abfrage mit der Ausnahme „HIVE_PATH_ALREADY_EXISTS“ fehl.

Wenn eine vorhandene Athena-Tabelle auf den Amazon S3-Speicherort verweist, den Sie in Ihrer CTAS-Abfrage verwenden möchten, gehen Sie wie folgt vor:

  1. Löschen Sie die Athena-Tabelle.
  2. Löschen Sie die Daten im Schlüsselpräfix-Speicherort des S3-Buckets.

Ähnliche Informationen

Eigenschaften von CTAS-Tabellen

Überlegungen und Einschränkungen für CTAS-Abfragen

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 3 Jahren