

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.

# VACUUM
<a name="vacuum-statement"></a>

Die `VACUUM`-Anweisung führt Wartung von Apache-Iceberg-Tabellen durch, indem sie das [Ablaufen von Snapshots](https://iceberg.apache.org/docs/latest/spark-procedures/#expire_snapshots) und [Entfernen verwaister Dateien](https://iceberg.apache.org/docs/latest/spark-procedures/#remove_orphan_files) durchführt .

**Anmerkung**  
`VACUUM` ist transaktionsbasiert und wird nur für Apache-Iceberg-Tabellen in Athena-Engine-Version 3 unterstützt.

Die `VACUUM`-Anweisung optimiert Iceberg-Tabellen, indem sie den Speicherverbrauch reduziert. Weitere Informationen zur Verwendung von `VACUUM` finden Sie unter [Iceberg-Tabellen optimieren](querying-iceberg-data-optimization.md). Beachten Sie, dass für die damit verbundenen Anfragen an Amazon S3 Gebühren anfallen, da die `VACUUM`-Anweisung API-Aufrufe an Amazon S3 tätigt.

**Warnung**  
Wenn Sie einen Snapshot-Ablauf ausführen, können Sie nicht mehr zu abgelaufenen Snapshots reisen.

## Syntax
<a name="vacuum-statement-synopsis"></a>

Verwenden Sie die folgende Syntax, um Datendateien zu entfernen, die für eine Iceberg-Tabelle nicht mehr benötigt werden.

```
VACUUM [database_name.]target_table
```
+ `VACUUM` erwartet, dass sich die Iceberg-Daten in einem Amazon-S3-Ordner und nicht in einem Amazon-S3-Bucket befinden. Wenn sich Ihre Iceberg-Daten beispielsweise auf `s3://amzn-s3-demo-bucket`/ statt auf `s3://amzn-s3-demo-bucket/myicebergfolder/` befinden, schlägt die `VACUUM`-Anweisung mit der Fehlermeldung GENERIC\$1INTERNAL\$1ERROR: Pfad fehlt im Dateisystem: `s3://amzn-s3-demo-bucket` fehl.
+ Damit `VACUUM` Datendateien löschen kann, muss Ihre Rolle zur Abfrageausführung über `s3:DeleteObject`-Berechtigungen für den Bucket verfügen, in dem sich Ihre Iceberg-Tabellen, Metadaten, Snapshots und Datendateien befinden. Wenn die Berechtigung nicht vorhanden ist, ist die `VACUUM`-Abfrage erfolgreich, aber die Dateien werden nicht gelöscht. 
+ Um `VACUUM` auf eine Tabelle auszuführen, deren Name mit einem Unterstrich beginnt (z. B. `_mytable`), schließen Sie den Tabellennamen in umgekehrte Anführungszeichen ein, wie im folgenden Beispiel. Wenn Sie dem Tabellennamen einen Datenbanknamen voranstellen, schließen Sie den Datenbanknamen nicht in umgekehrte Anführungszeichen ein. Beachten Sie, dass doppelte Anführungszeichen nicht anstelle von umgekehrte Anführungszeichen funktionieren. 

  Dieses Verhalten ist spezifisch für `VACUUM`. Die `CREATE` und `INSERT INTO`-Anweisungen erfordern keine umgekehrte Anführungszeichen für Tabellennamen, die mit Unterstrichen beginnen.

  ```
  VACUUM `_mytable`
  VACUUM my_database.`_mytable`
  ```

## Durchgeführte Operationen
<a name="vacuum-statement-operations-performed"></a>

`VACUUM` führt die folgenden Operationen aus:
+ Entfernt Snapshots, die älter sind als die durch die `vacuum_max_snapshot_age_seconds`-Tabelleneigenschaft angegebene Zeitdauer. Standardmäßig ist diese Eigenschaft auf 432 000 Sekunden (5 Tage) festgelegt.
+ Entfernt Snapshots, die nicht innerhalb des Aufbewahrungszeitraums liegen und die die in der `vacuum_min_snapshots_to_keep`-Tabelleneigenschaft angegebene Anzahl überschreiten. Der Standardwert ist 1.

  Sie können diese Tabelleneigenschaften in Ihrer `CREATE TABLE`-Anweisung angeben. Nachdem die Tabelle erstellt wurde, können Sie diese mit der [ALTER TABLE SET TBLPROPERTIES](querying-iceberg-alter-table-set-properties.md)-Anweisung aktualisieren. 
+ Entfernt alle Metadaten und Datendateien, die aufgrund des Entfernens des Snapshots nicht mehr erreichbar sind. Sie können die Anzahl der alten Metadatendateien, die beibehalten werden sollen, konfigurieren, indem Sie die `vacuum_max_metadata_files_to_keep`-Tabelleneigenschaft festlegen. Der Standardwert lautet 100.
+ Entfernt verwaiste Dateien, die älter sind als die in der `vacuum_max_snapshot_age_seconds`-Tabelleneigenschaft angegebene Zeit. Verwaiste Dateien sind Dateien im Datenverzeichnis der Tabelle, die nicht mehr Teil des Tabellenstatus sind.

Weitere Informationen zur Erstellung und Verwaltung von Apache-Iceberg-Tabellen in Athena finden Sie unter [Iceberg-Tabellen erstellen](querying-iceberg-creating-tables.md) und [Iceberg-Tabellen verwalten](querying-iceberg-managing-tables.md).