

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.

# Optimierung der Snapshot-Aufbewahrung
<a name="snapshot-retention-management"></a>

Mit der Snapshot-Aufbewahrungsfunktion von Apache Iceberg können Benutzer Verlaufsdaten zu bestimmten Zeitpunkten abfragen und unerwünschte Änderungen an ihren Tabellen rückgängig machen. Im AWS Glue Datenkatalog steuert die Konfiguration der Snapshot-Aufbewahrung, wie lange diese Snapshots (Versionen der Tabellendaten) aufbewahrt werden, bevor sie ablaufen und entfernt werden. Dies hilft beim Reduzieren der Speicherkosten und Verwalten der Metadaten-Overheads, indem ältere Snapshots auf der Grundlage einer konfigurierten Aufbewahrungszeit oder der maximalen Anzahl von aufzubewahrenden Snapshots automatisch entfernt werden. 

Sie können den Aufbewahrungszeitraum in Tagen und die maximale Anzahl von Snapshots, die für eine Tabelle aufbewahrt werden sollen, konfigurieren. AWS Glue entfernt Snapshots, die älter als der angegebene Aufbewahrungszeitraum sind, aus den Tabellenmetadaten, wobei die neuesten Snapshots bis zum konfigurierten Limit beibehalten werden. AWS Glue Löscht nach dem Entfernen alter Snapshots aus den Metadaten die entsprechenden Daten und Metadatendateien, auf die nicht mehr verwiesen wird und die für die abgelaufenen Snapshots eindeutig sind. So können Zeitreiseabfragen nur bis zu den verbleibenden gespeicherten Snapshots abgerufen werden, während gleichzeitig Speicherplatz zurückgewonnen wird, der für abgelaufene Snapshot-Daten verwendet wurde.

**Topics**
+ [Aktivieren des Snapshot-Aufbewahrungsoptimierers](enable-snapshot-retention.md)
+ [Aktualisieren des Snapshot-Aufbewahrungsoptimierers](update-snapshot-retention.md)
+ [Deaktivieren des Snapshot-Aufbewahrungsoptimierers](disable-snapshot-retention.md)

# Aktivieren des Snapshot-Aufbewahrungsoptimierers
<a name="enable-snapshot-retention"></a>

 Sie können die AWS Glue Konsole oder die AWS API verwenden AWS CLI, um Optimizer für die Aufbewahrung von Snapshots für Ihre Apache Iceberg-Tabellen im Datenkatalog zu aktivieren. Für neue Tabellen können Sie Apache Iceberg als Tabellenformat auswählen und den Snapshot-Aufbewahrungsoptimierer beim Erstellen der Tabellen aktivieren. Für neue Tabellen ist die Snapshot-Aufbewahrung standardmäßig deaktiviert.

------
#### [ Console ]

**So aktivieren Sie den Snapshot-Aufbewahrungsoptimierer**

1.  Öffnen Sie die AWS Glue Konsole unter [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)und melden Sie sich als Data Lake-Administrator, als Tabellenersteller oder als Benutzer an, dem die `lakeformation:GetDataAccess` Berechtigungen `glue:UpdateTable` und für die Tabelle erteilt wurden. 

1. Wählen Sie im Navigationsbereich unter **Datenkatalog** die Option **Tabellen** aus.

1. **Wählen Sie auf der Seite **Tabellen** eine Iceberg-Tabelle aus, für die Sie den Snapshot-Aufbewahrungsoptimierer aktivieren möchten, und wählen Sie dann im Menü **Aktionen** unter Optimierung** die Option **Aktivieren** aus.

   Sie können die Optimierung auch aktivieren, indem Sie die Tabelle auswählen und die Seite mit den **Tabellendetails** öffnen. Wählen Sie im unteren Bereich der Seite die Registerkarte **Tabellenoptimierung** und dann **Snapshot-Aufbewahrung aktivieren** aus. 

1. Auf der Seite **Optimierung aktivieren** haben Sie unter **Optimierungskonfiguration** zwei Optionen: **Standardeinstellungen verwenden** oder **Einstellungen anpassen**. Wenn Sie sich für die Verwendung der Standardeinstellungen entscheiden, AWS Glue verwendet die in der Iceberg-Tabellenkonfiguration definierten Eigenschaften, um den Aufbewahrungszeitraum für Snapshots und die Anzahl der beizubehaltenden Snapshots zu bestimmen. Wenn diese Konfiguration nicht vorhanden ist, wird ein Snapshot fünf Tage lang AWS Glue aufbewahrt und die mit den abgelaufenen Snapshots verknüpften Dateien gelöscht.

1.  Wählen Sie als Nächstes eine IAM-Rolle aus, die in Ihrem Namen die Ausführung des Optimierers übernehmen AWS Glue kann. Einzelheiten zu den für die IAM-Rolle erforderlichen Berechtigungen finden Sie im Abschnitt [Voraussetzungen für die Tabellenoptimierung](optimization-prerequisites.md).

   Gehen Sie wie folgt vor, um eine vorhandene IAM-Rolle zu aktualisieren: 

   1.  Um die Berechtigungsrichtlinie für die IAM-Rolle zu aktualisieren, wechseln Sie in der IAM-Konsole zu der IAM-Rolle, die zum Ausführen der Verdichtung verwendet wird. 

   1.  Wählen Sie im Abschnitt Berechtigungen hinzufügen die Option „Richtlinie erstellen“ aus. Erstellen Sie im neu geöffneten Browserfenster eine neue Richtlinie, die Sie mit Ihrer Rolle verwenden möchten. 

   1. Wählen Sie auf der Seite Richtlinie erstellen die Registerkarte JSON aus. Kopieren Sie den JSON-Code aus den Voraussetzungen in das Feld im Richtlinieneditor.

1. Wenn Sie die Werte für die **Konfiguration der Snapshot-Aufbewahrung** lieber manuell festlegen möchten, wählen Sie **Einstellungen anpassen** aus.   
![\[Seite mit den Apache-Iceberg-Tabellendetails mit der Option „Aufbewahrung aktivieren“ > „Einstellungen anpassen“.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/table-enable-retention.png)

1. Aktivieren Sie das Kästchen **Ausgewählte IAM-Rolle auf die ausgewählten Optimierer anwenden**, um eine einzige IAM-Rolle für alle zu verwenden und alle Optimierer zu aktivieren.

1. Wenn Sie Sicherheitsrichtlinien-Konfigurationen haben, bei denen der Iceberg-Tabellenoptimierer von einer bestimmten Virtual Private Cloud (VPC) aus auf Amazon S3 S3-Buckets zugreifen muss, stellen Sie eine AWS Glue Netzwerkverbindung her oder verwenden Sie eine bestehende.

   Wenn Sie noch keine AWS Glue VPC-Verbindung eingerichtet haben, erstellen Sie eine neue, indem Sie die Schritte im Abschnitt [Verbindungen für Konnektoren erstellen](https://docs.aws.amazon.com/glue/latest/dg/creating-connections.html) mithilfe der AWS Glue Konsole oder des AWS CLI/SDKs ausführen.

1. Wählen Sie als Nächstes unter **Snapshot-Aufbewahrungskonfiguration** entweder die in der [Iceberg-Tabellenkonfiguration](https://iceberg.apache.org/docs/1.5.2/configuration/#table-behavior-properties) angegebenen Werte aus, oder geben Sie benutzerdefinierte Werte für die Aufbewahrungsdauer von Snapshots an (history.expire). max-snapshot-age-ms), Mindestanzahl von Snapshots (history.expire. min-snapshots-to-keep), die aufbewahrt werden sollen, und die Zeit in Stunden zwischen aufeinanderfolgenden Snapshot-Löschaufträgen.

1.  Wählen Sie **Zugehörige Dateien löschen** aus, um die zugrunde liegenden Dateien zu löschen, wenn der Tabellenoptimierer alte Snapshots aus den Tabellenmetadaten löscht.

    Wenn Sie diese Option nicht auswählen und ältere Snapshots aus den Tabellenmetadaten entfernt werden, verbleiben die zugehörigen Dateien als verwaiste Dateien im Speicher. 

1. Lesen Sie als Nächstes den Warnhinweis und wählen Sie **Ich bestätige** aus, um fortzufahren.
**Anmerkung**  
 Im Datenkatalog berücksichtigt der Snapshot-Aufbewahrungsoptimierer den Lebenszyklus, der durch Aufbewahrungsrichtlinien auf Branchen- und Tag-Ebene gesteuert wird. Weitere Informationen dazu finden Sie im Abschnitt [Verzweigungen und Tagging](https://iceberg.apache.org/docs/latest/branching/#overview) in der Iceberg-Dokumentation.

1. Überprüfen Sie die Konfiguration und wählen Sie **Optimierung aktivieren** aus.

   Warten Sie einige Minuten, bis der Aufbewahrungsoptimierer ausgeführt wird und alte Snapshots, die auf der Konfiguration basieren, ablaufen.

------
#### [ AWS CLI ]

 Um die Aufbewahrung von Snapshots für neue Iceberg-Tabellen in zu aktivieren AWS Glue, müssen Sie einen Tabellenoptimierer des Typs erstellen `retention` und das `enabled` Feld auf `true` in setzen. `table-optimizer-configuration` Sie können dies mit dem AWS CLI Befehl `create-table-optimizer` oder tun. `update-table-optimizer` Darüber hinaus müssen Sie die Felder für die Aufbewahrungskonfiguration wie `snapshotRetentionPeriodInDays` und `numberOfSnapshotsToRetain` Ihren Anforderungen entsprechend angeben.

Im folgenden Beispiel wird veranschaulicht, wie der Snapshot-Aufbewahrungsoptimierer aktiviert wird. Ersetzen Sie die Konto-ID durch eine gültige AWS Konto-ID. Ersetzen Sie den Datenbanknamen und den Tabellennamen durch die tatsächlichen Tabellen- und Datenbanknamen in Iceberg. Ersetzen Sie das `roleArn` durch den AWS Ressourcennamen (ARN) der IAM-Rolle und den Namen der IAM-Rolle, die über die erforderlichen Berechtigungen verfügt, um den Snapshot Retention Optimizer auszuführen. 

```
aws glue create-table-optimizer \
  --catalog-id 123456789012 \
  --database-name iceberg_db \
  --table-name iceberg_table \
  --table-optimizer-configuration '{"roleArn":"arn:aws:iam::123456789012:role/optimizer_role","enabled":'true', "vpcConfiguration":{
"glueConnectionName":"glue_connection_name"}, "retentionConfiguration":{"icebergConfiguration":{"snapshotRetentionPeriodInDays":7,"numberOfSnapshotsToRetain":3,"cleanExpiredFiles":'true'}}}'\
  --type retention
```

 Mit diesem Befehl wird ein Aufbewahrungsoptimierer für die angegebene Iceberg-Tabelle im angegebenen Katalog und in der angegebenen Datenbank und Region erstellt. Der table-optimizer-configuration spezifiziert den zu verwendenden ARN der IAM-Rolle, aktiviert den Optimierer und legt die Aufbewahrungskonfiguration fest. In diesem Beispiel werden Snapshots 7 Tage lang aufbewahrt, es werden mindestens 3 Snapshots aufbewahrt und abgelaufene Dateien werden bereinigt. 
+  snapshotRetentionPeriodInDays — Die Anzahl der Tage, für die Snapshots aufbewahrt werden sollen, bevor sie ablaufen. Der Standardwert ist `5`. 
+ numberOfSnapshotsToRetain — Die Mindestanzahl von Snapshots, die aufbewahrt werden müssen, auch wenn sie älter als die Aufbewahrungsfrist sind. Der Standardwert ist `1`. 
+ cleanExpiredFiles — Ein boolescher Wert, der angibt, ob abgelaufene Datendateien nach ablaufenden Snapshots gelöscht werden sollen. Der Standardwert ist `true`.

   Wenn dieser Wert auf „true“ gesetzt ist, werden ältere Snapshots aus den Tabellenmetadaten entfernt, und die ihnen zugrunde liegenden Dateien werden gelöscht. Wenn dieser Parameter auf „false“ gesetzt ist, werden ältere Snapshots aus den Tabellenmetadaten entfernt, aber die ihnen zugrunde liegenden Dateien verbleiben als verwaiste Dateien im Speicher. 

------
#### [ AWS API ]

Rufen Sie [CreateTableOptimizer](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-table-optimizers.html#aws-glue-api-table-optimizers-CreateTableOptimizer)den Vorgang auf, um den Snapshot Retention Optimizer für eine Tabelle zu aktivieren.

------

Nachdem Sie die Verdichtung aktiviert haben, werden auf der Registerkarte **Tabellenoptimierung** die folgenden Verdichtungsdetails angezeigt (nach etwa 15 bis 20 Minuten):

Startzeit  
Die Zeit, zu der der Snapshot-Aufbewahrungsoptimierer gestartet wurde. Der Wert ist ein Zeitstempel in UTC-Zeit. 

Run time (Laufzeit)  
Die Zeit gibt an, wie lange der Optimierer benötigt, um die Aufgabe abzuschließen. Der Wert ist ein Zeitstempel in UTC-Zeit. 

Status  
Der Status der Optimiererausführung. Die Werte sind „Erfolgreich“ oder „Fehlgeschlagen“.

Datendateien gelöscht  
Gesamtzahl der gelöschten Dateien.

Manifestdateien gelöscht  
Gesamtzahl der gelöschten Manifestdateien.

Manifestlisten gelöscht  
Gesamtzahl der gelöschten Manifestlisten.

# Aktualisieren des Snapshot-Aufbewahrungsoptimierers
<a name="update-snapshot-retention"></a>

 Sie können die bestehende Konfiguration eines Snapshot-Aufbewahrungsoptimierers für eine bestimmte Apache Iceberg-Tabelle mithilfe der AWS Glue Konsole oder der AWS CLI UpdateTableOptimizer API aktualisieren. 

------
#### [ Console ]

**So aktualisieren Sie die Konfiguration der Snapshot-Aufbewahrung:**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die AWS Glue Konsole unter. [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)

1. Wählen Sie **Datenkatalog** und dann **Tabellen** aus. In der Liste der Tabellen wählen Sie die Iceberg-Tabelle aus, für die Sie die Konfiguration des Snapshot-Aufbewahrungsoptimierers aktualisieren möchten.

1. Wählen Sie unten auf der Seite **Tabellendetails** die Registerkarte **Tabellenoptimierung** und dann **Bearbeiten** aus. Sie können auch im Menü **Aktionen** oben rechts auf der Seite die Option **Bearbeiten** unter **Optimierung** auswählen.

1.  Nehmen Sie auf der Seite **Optimierung bearbeiten** die gewünschten Änderungen vor. 

1.  Wählen Sie **Speichern**. 

------
#### [ AWS CLI ]

 Um einen Snapshot Retention Optimizer mit dem zu aktualisieren AWS CLI, können Sie den folgenden Befehl verwenden: 

```
aws glue update-table-optimizer \
 --catalog-id 123456789012 \
 --database-name iceberg_db \
 --table-name iceberg_table \
 --table-optimizer-configuration '{"roleArn":"arn:aws:iam::123456789012:role/optimizer_role"","enabled":'true', "vpcConfiguration":{"glueConnectionName":"glue_connection_name"},"retentionConfiguration":{"icebergConfiguration":{"snapshotRetentionPeriodInDays":7,"numberOfSnapshotsToRetain":3,"cleanExpiredFiles":'true'}}}' \
 --type retention
```

 Mit diesem Befehl wird die Aufbewahrungsdokumentation für die angegebene Tabelle im angegebenen Katalog und in der angegebenen Datenbank und Region aktualisiert. Folgende sind die wichtigsten Parameter: 
+  snapshotRetentionPeriodInDays — Die Anzahl der Tage, für die Snapshots aufbewahrt werden sollen, bevor sie ablaufen. Der Standardwert ist `1`. 
+ numberOfSnapshotsToRetain — Die Mindestanzahl von Snapshots, die aufbewahrt werden müssen, auch wenn sie älter als die Aufbewahrungsfrist sind. Der Standardwert ist `5`. 
+ cleanExpiredFiles — Ein boolescher Wert, der angibt, ob abgelaufene Datendateien nach ablaufenden Snapshots gelöscht werden sollen. Der Standardwert ist `true`. 

   Wenn dieser Wert auf „true“ gesetzt ist, werden ältere Snapshots aus den Tabellenmetadaten entfernt, und die ihnen zugrunde liegenden Dateien werden gelöscht. Wenn dieser Parameter auf „false“ gesetzt ist, werden ältere Snapshots aus den Tabellenmetadaten entfernt, aber die ihnen zugrunde liegenden Dateien verbleiben als verwaiste Dateien im Speicher. 

------
#### [ API ]

Um einen Tabellenoptimierer zu aktualisieren, können Sie die `UpdateTableOptimizer`-API verwenden. Mit dieser API können Sie die Konfiguration eines vorhandenen Tabellenoptimierers für die Komprimierung, Aufbewahrung oder Entfernung von verwaisten Dateien aktualisieren. Zu den Anforderungsparametern zählen:
+ catalogId (erforderlich): Die ID des Katalogs, der die Tabelle enthält 
+  databaseName (optional): Der Name der Datenbank, die die Tabelle enthält 
+  tableName (optional): Der Name der Tabelle 
+  type (erforderlich): Der Typ des Tabellenoptimierers (Komprimierung, Aufbewahrung oder Entfernung von verwaisten Dateien) 
+  RetentionConfiguration (erforderlich): Die aktualisierte Konfiguration für den Tabellenoptimierer, einschließlich Rollen-ARN, Aktivierungsstatus, Aufbewahrungskonfiguration und Konfiguration zum Entfernen verwaister Dateien. 

------

# Deaktivieren des Snapshot-Aufbewahrungsoptimierers
<a name="disable-snapshot-retention"></a>

 Sie können den Snapshot Retention Optimizer für eine bestimmte Apache Iceberg-Tabelle mithilfe der AWS Glue Konsole oder deaktivieren. AWS CLI

------
#### [ Console ]

**Deaktivieren der Snapshot-Aufbewahrung**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die AWS Glue Konsole unter. [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)

1. Wählen Sie **Datenkatalog** und dann **Tabellen** aus. In der Liste der Tabellen wählen Sie die Iceberg-Tabelle aus, für die Sie die Konfiguration des Optimierer für die Snapshot-Aufbewahrung aktualisieren möchten.

1. Wählen Sie im unteren Bereich der **Tabellendetailseite** unter **Aktionen** die Option **Tabellenoptimierung** und **Deaktivieren**, **Snapshot-Aufbewahrung** aus.

   Sie können auch im Menü **Aktionen** oben rechts auf der Seite die Option **Deaktivieren** unter **Optimierung** auswählen.

1.  Klicken Sie in der Bestätigungsmeldung auf **Deaktivieren**. Sie können den Snapshot-Aufbewahrungsoptimierer später wieder aktivieren. 

    Nachdem Sie die Deaktivierung bestätigt haben, wird Snapshot-Aufbewahrungsoptimierer deaktiviert und der Status für Snapshots wird wieder auf `Not enabled` gesetzt.

------
#### [ AWS CLI ]

Ersetzen Sie im folgenden Beispiel die Konto-ID durch eine gültige AWS Konto-ID. Ersetzen Sie den Datenbanknamen und den Tabellennamen durch die tatsächlichen Tabellen- und Datenbanknamen in Iceberg. Ersetzen Sie das `roleArn` durch den AWS Ressourcennamen (ARN) der IAM-Rolle und den tatsächlichen Namen der IAM-Rolle, die über die erforderlichen Berechtigungen zum Ausführen des Aufbewahrungsoptimierers verfügt.

```
aws glue update-table-optimizer \
  --catalog-id 123456789012 \
  --database-name iceberg_db \
  --table-name iceberg_table \
  --table-optimizer-configuration '{"roleArn":"arn:aws:iam::123456789012:role/optimizer_role", "vpcConfiguration":{"glueConnectionName":"glue_connection_name"}, "enabled":'false'}'\ 
  --type retention
```

------
#### [ AWS API ]

Rufen Sie [UpdateTableOptimizer](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-table-optimizers.html#aws-glue-api-table-optimizers-UpdateTableOptimizer)den Vorgang auf, um den Snapshot-Aufbewahrungsoptimizer für eine bestimmte Tabelle zu deaktivieren.

------