Ich möchte Amazon Athena-Abfrageergebnisse in einem anderen Format als CSV speichern, z. B. JSON oder Parquet.
Kurzbeschreibung
Athena unterstützt nur CSV-Ausgabedateien, wenn Sie SELECT-Abfragen ausführen. Um die Ausgabe von Athena in anderen Formaten als CSV zu speichern, wählen Sie eine der folgenden Optionen:
Die UNLOAD-Anweisung schreibt die Ausgabe einer SELECT-Abfrage in eines von mehreren verschiedenen Datenformaten, erstellt jedoch keine neue Tabelle. Eine CTAS-Abfrage schreibt auch Ausgaben in verschiedenen Datenformaten, erstellt jedoch eine neue Tabelle mit dieser Ausgabe. Sowohl UNLOAD als auch CTAS unterstützen Formate wie Apache Parquet, ORC, Apache Avro und JSON.
Hinweis: Sowohl UNLOAD als auch CTAS unterstützen Partitionierung, aber nur CTAS unterstützt Bucketing.
Behebung
Ene UNLOAD-Abfrage ausführen
Um die UNLOAD-Anweisung zu verwenden, setzen Sie Ihre SELECT-Abfrage nach UNLOAD in Klammern und geben Sie den Dateityp in einer WITH-Anweisung an. Die folgende Abfrage speichert beispielsweise die Ausgabe von SELECT als JSON-Datei im Amazon Simple Storage Service (Amazon S3)-Bucket amzn-s3-example-bucket:
UNLOAD (SELECT col1, col2 FROM example_table)
TO 's3://amzn-s3-example-bucket/example_folder/'
WITH (format = 'JSON')
Weitere Informationen zum Ändern der Dateiausgabe von UNLOAD finden Sie unter Parameter.
Eine CTAS-Abfrage ausführen
Um die Ausgabe einer CTAS-Abfrage in einem anderen Format als CSV zu speichern, konfigurieren Sie die Formateigenschaft in einer WITH-Anweisung. Die folgende Abfrage erstellt beispielsweise eine neue Tabelle mit dem Namen ctas-parquet-example aus den von SELECT im Parquet-Format zurückgegebenen Daten:
`CREATE TABLE ctas_parquet_example WITH (format = '`_`PARQUET`_`') AS SELECT col1, col2, FROM example_table;`
Weitere Informationen zu CTAS-Parametern finden Sie unter CTAS-Tabelleneigenschaften.
Wenn Sie nur die Ausgabedatendatei, nicht aber die neue Tabelle behalten müssen, löschen Sie die CTAS-Tabelle, nachdem die Abfrage abgeschlossen ist.
Ähnliche Informationen
Überlegungen und Einschränkungen für CTAS-Abfragen
Beispiele für CTAS-Abfragen