

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# UNLOAD
<a name="unload"></a>

Schreibt Abfrageergebnisse aus einer `SELECT`-Anweisung in das angegebene Datenformat. Zu den unterstützten Formaten für `UNLOAD` gehören Apache Parquet, ORC, Apache Avro und JSON. CSV ist das einzige Ausgabeformat, das vom dem Athena `SELECT`-Befehl unterstützt wird, aber Sie können den `UNLOAD`-Befehl, der eine Vielzahl von Ausgabeformaten unterstützt, verwenden, um Ihre `SELECT`-Abfrage einzuschließen und ihre Ausgabe in eines der Formate die `UNLOAD` unterstützt umzuschreiben. 

Obwohl Sie die `CREATE TABLE AS`-(CTAS)-Anweisung verwenden können, um Daten in anderen Formaten als CSV auszugeben, erfordern CTAS-Anweisungen die Erstellung einer Tabelle in Athena. Die `UNLOAD`-Anweisung ist nützlich, wenn Sie die Ergebnisse einer `SELECT`-Abfrage in einem Nicht-CSV-Format ausgeben möchten, aber die zugehörige Tabelle nicht benötigen. Beispielsweise kann eine nachgelagerte Anwendung erfordern, dass die Ergebnisse einer `SELECT`-Abfrage im JSON-Format vorliegen, und Parquet oder ORC können einen Leistungsvorteil gegenüber CSV bieten, wenn Sie die Ergebnisse der `SELECT`-Abfrage für zusätzliche Analysen verwenden möchten.

## Überlegungen und Einschränkungen
<a name="unload-considerations-and-limitations"></a>

Beachten Sie bei der Verwendung der `UNLOAD`-Anweisung in Athena die folgenden Punkte:
+ **Keine globale Reihenfolge von Dateien** – `UNLOAD`-Ergebnisse werden parallel in mehrere Dateien geschrieben. Wenn die `SELECT`-Abfrage in der `UNLOAD`-Anweisung eine Sortierreihenfolge angibt, wird der Inhalt jeder Datei sortiert, aber die Dateien werden nicht relativ zueinander sortiert.
+ **Verwaiste Daten nicht gelöscht** – Im Falle eines Fehlers versucht Athena nicht, verwaiste Daten zu löschen. Dieses Verhalten ist das gleiche wie bei CTAS und `INSERT INTO`-Anweisungen.
+ **Maximale Partitionen** – Die maximale Anzahl von Partitionen, die mit `UNLOAD` verwendet werden können, beträgt 100.
+ **Metadaten- und Manifestdateien**– Athena generiert für jede `UNLOAD`-Abfrage eine Metadatendatei und eine Datenmanifestdatei. Das Manifest verfolgt die Dateien, die die Abfrage geschrieben hat. Beide Dateien werden in Ihrem Athena-Abfrageergebnisspeicherort in Amazon S3 gespeichert. Weitere Informationen finden Sie unter [Identifizieren von Abfrageausgabedateien](querying-finding-output-files.md#querying-identifying-output-files).
+ **Verschlüsselung** – `UNLOAD`-Ausgabedateien werden gemäß der für Amazon S3 verwendeten Verschlüsselungskonfiguration verschlüsselt. Um die Verschlüsselungskonfiguration für die Verschlüsselung Ihres `UNLOAD` Ergebnisses einzurichten, können Sie die [EncryptionConfiguration API](https://docs.aws.amazon.com/athena/latest/APIReference/API_EncryptionConfiguration.html) verwenden.
+ **Vorbereitete Anweisungen** – `UNLOAD`kann mit vorbereiteten Anweisungen verwendet werden. Informationen zu vorbereiteten Anweisungen in Athena finden Sie unter [Parametrisierte Abfragen verwenden](querying-with-prepared-statements.md).
+ **Service Quotas** – `UNLOAD` verwendet DML-Abfragekontingente. Kontigentinformationen finden Sie unter [Service Quotas](service-limits.md).
+ **Erwarteter Bucket-Eigentümer** – Die Einstellung für den erwarteten Bucket-Eigentümer gilt nicht für den Amazon-S3-Speicherort, der in der `UNLOAD`-Abfrage angegeben wurde. Die erwartete Bucket-Eigentümereinstellung gilt nur für den Amazon-S3-Ausgabespeicherort, den Sie für Athena-Abfrageergebnisse angeben. Weitere Informationen finden Sie unter [Angeben eines Speicherorts des Abfrageergebnisses mithilfe der Athena-Konsole](query-results-specify-location-console.md).

## Syntax
<a name="unload-syntax"></a>

Die `UNLOAD`-Anweisung verwendet die folgende Syntax.

```
UNLOAD (SELECT col_name[, ...] FROM old_table) 
TO 's3://amzn-s3-demo-bucket/my_folder/' 
WITH ( property_name = 'expression' [, ...] )
```

Außer beim Schreiben auf Partitionen, muss das `TO`-Ziel einen Standort in Amazon S3 angeben, der keine Daten enthält. Bevor die `UNLOAD`-Abfrage in den angegebenen Speicherort schreibt, überprüft sie, ob der Bucket-Speicherort leer ist. Da `UNLOAD` keine Daten an den angegebenen Speicherort schreibt, wenn der Speicherort bereits Daten enthält, überschreibt `UNLOAD` keine vorhandenen Daten. Um einen Bucket-Speicherort als Ziel für `UNLOAD` wiederzuverwenden, löschen Sie die Daten am Bucket-Speicherort und führen Sie die Abfrage dann erneut aus. 

Beachten Sie, dass dieses Verhalten anders ist, wenn `UNLOAD` in Partitionen schreibt. Wenn Sie dieselbe `UNLOAD`-Abfrage mehrmals ausführen, die dieselbe `SELECT`-Anweisung, denselben `TO`-Speicherort und dieselben Partitionen hat, entlädt jede `UNLOAD`-Abfrage die Daten an dem angegebenen Speicherort und den angegebenen Partitionen in Amazon S3.

### Parameters
<a name="unload-parameters"></a>

Die möglichen Werte für *property\$1name* sind wie folgt.

** format = '' *file\$1format* **  
Erforderlich Gibt das Dateiformat der Ausgabe an. Mögliche Werte für *file\$1format* sind `ORC``PARQUET`,`AVRO`,`JSON`, oder`TEXTFILE`.

** Komprimierung = '*compression\$1format*' **  
Optional. Diese Option ist spezifisch für die Formate ORC und Parquet. Für ORC ist der Standardwert `zlib` und für Parquet der Standardwert `gzip`. Informationen über unterstützte Komprimierungsformate finden Sie unter [Unterstützung der Athena-Komprimierung](https://docs.aws.amazon.com/athena/latest/ug/compression-formats.html).   
Diese Option gilt nicht für das Format `AVRO`. Athena verwendet `gzip` für `JSON`- und `TEXTFILE`-Formate.

**Kompressionsstufe = *compression\$1level* **  
Optional. Die Komprimierungsstufe, die für die ZSTD-Komprimierung verwendet werden soll. Diese Eigenschaft gilt nur für die ZSTD-Komprimierung. Weitere Informationen finden Sie unter [ZSTD-Komprimierungsstufen verwenden](compression-support-zstd-levels.md).

** Feldtrennzeichen = '' *delimiter* **  
Optional. Gibt ein Feldtrennzeichen aus einem einzigen Zeichen für Dateien in CSV, TSV und anderen Textformaten an. Das folgende Beispiel verwendet ein Komma als Trennzeichen:  

```
WITH (field_delimiter = ',')
```
Derzeit werden mehrzeilige Feldtrennzeichen nicht unterstützt. Wenn Sie kein Feldtrennzeichen angeben, wird das Oktalzeichen `\001` (^A) verwendet.

** partitioniert\$1nach = ARRAY [[,...]] *col\$1name* **  
Optional. Eine Array-Liste der Spalten, nach denen die Ausgabe partitioniert ist.  
Stellen Sie in Ihrer `SELECT`-Anweisung sicher, dass die Namen der partitionierten Spalten in Ihrer Spaltenliste an letzter Stelle stehen. 

## Beispiele
<a name="unload-examples"></a>

Im folgenden Beispiel wird die Ausgabe einer `SELECT`-Abfrage im JSON-Format an den Amazon-S3-Speicherort `s3://amzn-s3-demo-bucket/unload_test_1/` geschrieben.

```
UNLOAD (SELECT * FROM old_table) 
TO 's3://amzn-s3-demo-bucket/unload_test_1/' 
WITH (format = 'JSON')
```

Im folgenden Beispiel wird die Ausgabe einer `SELECT`-Abfrage im Parquet-Format mithilfe der Snappy-Komprimierung geschrieben.

```
UNLOAD (SELECT * FROM old_table) 
TO 's3://amzn-s3-demo-bucket/' 
WITH (format = 'PARQUET',compression = 'SNAPPY')
```

Im folgenden Beispiel werden vier Spalten im Textformat geschrieben, wobei die Ausgabe durch die letzte Spalte partitioniert ist.

```
UNLOAD (SELECT name1, address1, comment1, key1 FROM table1) 
TO 's3://amzn-s3-demo-bucket/ partitioned/' 
WITH (format = 'TEXTFILE', partitioned_by = ARRAY['key1'])
```

Im folgenden Beispiel werden die Abfrageergebnisse unter Verwendung des Parquet-Dateiformats, der ZSTD-Komprimierung und der ZSTD-Komprimierungsstufe 4 an den angegebenen Speicherort entladen.

```
UNLOAD (SELECT * FROM old_table) 
TO 's3://amzn-s3-demo-bucket/' 
WITH (format = 'PARQUET', compression = 'ZSTD', compression_level = 4)
```

## Weitere Ressourcen
<a name="unload-additional-resources"></a>
+ [Vereinfachen Sie Ihre ETL- und ML-Pipelines mithilfe des Amazon Athena UNLOAD-Features](https://aws.amazon.com/blogs/big-data/simplify-your-etl-and-ml-pipelines-using-the-amazon-athena-unload-feature/) im *AWS -Big-Data-Blog*. 