Wie speichere ich die Ausgabe einer Amazon Athena-Abfrage in einem anderen Datenformat als CSV?

Lesedauer: 2 Minute
0

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

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 4 Monaten