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:
- Löschen Sie die Athena-Tabelle.
- 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