Aktivieren des Snapshot-Aufbewahrungsoptimierers - AWS Glue

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 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/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.

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

  3. 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.

  4. 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.

  5. 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.

    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.

    2. 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.

    3. 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.

  6. 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“.
  7. 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.

  8. 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 mithilfe der AWS Glue Konsole oder des AWS CLI/SDKs ausführen.

  9. Wählen Sie als Nächstes unter Snapshot-Aufbewahrungskonfiguration entweder die in der Iceberg-Tabellenkonfiguration 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.

  10. 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.

  11. 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 in der Iceberg-Dokumentation.

  12. Ü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 CreateTableOptimizerden 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.