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.
Aktivieren des Snapshot-Aufbewahrungsoptimierers
Sie können die AWS Glue-Konsole, AWS CLI oder die AWS-API verwenden, um Snapshot-Aufbewahrungsoptimierer 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
-
Öffnen Sie die AWS Glue-Konsole unter https://console.aws.amazon.com/glue/ und melden Sie sich als Data-Lake-Administrator, als Tabellenersteller oder als Benutzer an, dem die Berechtigungen glue:UpdateTable und lakeformation:GetDataAccess für die Tabelle erteilt wurden.
-
Wählen Sie im Navigationsbereich unter Datenkatalog die Option Tabellen aus.
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.
-
Auf der Seite Optimierung aktivieren haben Sie unter Optimierungskonfiguration zwei Optionen: Standardeinstellungen verwenden oder Einstellungen anpassen. Wenn Sie sich dafür entscheiden, die Standardeinstellungen zu verwenden, verwendet AWS Glue die in der Iceberg-Tabellenkonfiguration definierten Eigenschaften, um den Snapshot-Aufbewahrungszeitraum und die Anzahl der beizubehaltenden Snapshots zu bestimmen. Wenn diese Konfiguration nicht vorhanden ist, bewahrt AWS Glue einen Snapshot fünf Tage lang auf und löscht die mit den abgelaufenen Snapshots verknüpften Dateien.
-
Wählen Sie als Nächstes eine IAM-Rolle, die AWS Glue in Ihrem Auftrag annehmen kann, um den Optimierer auszuführen. Einzelheiten zu den für die IAM-Rolle erforderlichen Berechtigungen finden Sie im Abschnitt Voraussetzungen für die Tabellenoptimierung .
Gehen Sie wie folgt vor, um eine vorhandene IAM-Rolle zu aktualisieren:
-
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.
-
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.
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.
-
Wenn Sie die Werte für die Konfiguration der Snapshot-Aufbewahrung lieber manuell festlegen möchten, wählen Sie Einstellungen anpassen aus.
-
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.
-
Wenn Sie Sicherheitsrichtlinien-Konfigurationen haben, bei denen der Iceberg-Tabellenoptimierer von einer bestimmten Virtual Private Cloud (VPC) aus auf Amazon-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 Erstellen von Verbindungen für Connectors mithilfe der AWS Glue-Konsole oder der AWS CLI bzw. des SDKs ausführen.
Wählen Sie als Nächstes unter Konfiguration der Snapshot-Aufbewahrung entweder die in der Iceberg-Tabellenkonfiguration angegebenen Werte aus, oder geben Sie benutzerdefinierte Werte für die Aufbewahrungsdauer von Snapshots (history.expire.max-snapshot-age-ms), die Mindestanzahl von aufzubewahrenden Snapshots (history.expire.min-snapshots-to-keep) und die Zeit in Stunden zwischen aufeinanderfolgenden Snapshot-Löschaufträgen an.
-
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.
-
Lesen Sie als Nächstes den Warnhinweis und wählen Sie Ich bestätige aus, um fortzufahren.
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 in der Iceberg-Dokumentation.
-
Ü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 AWS Glue zu aktivieren, müssen Sie einen Tabellenoptimierer des Typs retention erstellen und das enabled-Feld auf true in table-optimizer-configuration setzen. Führen Sie dazu den AWS CLI-Befehl create-table-optimizer oder update-table-optimizer aus. 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 den roleArn durch den AWS-Ressourcennamen (ARN) der IAM-Rolle und den Namen der IAM-Rolle, die über die erforderlichen Berechtigungen zum Ausführen des Snapshot-Aufbewahrungsoptimierers verfügt.
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. Die Tabellenoptimierer-Konfiguration 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, die Snapshots aufbewahrt werden sollen, bevor sie ablaufen. Der Standardwert ist 5.
-
numberOfSnapshotsToRetain – Die Mindestanzahl von Snapshots, die aufbewahrt werden sollen, auch wenn sie älter sind als der festgelegte Aufbewahrungszeitraum. Der Standardwert ist 1.
-
cleanExpiredFiles – Ein boolescher Wert, der angibt, ob abgelaufene Datendateien nach dem Ablauf von 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 den Vorgang CreateTableOptimizer auf, um den Snapshot-Aufbewahrungsoptimierer 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.