Aktivieren des Löschens verwaister Dateien
Sie können die AWS Glue-Konsole, AWS CLI oder die AWS-API verwenden, um das Löschen verwaister Dateien für Ihre Apache-Iceberg-Tabellen im Datenkatalog zu aktivieren. Bei neuen Tabellen können Sie Apache Iceberg als Tabellenformat auswählen und beim Erstellen der Tabelle den Optimierer zum Löschen verwaister Dateien aktivieren. Für neue Tabellen ist die Snapshot-Aufbewahrung standardmäßig deaktiviert.
- Console
-
So aktivieren Sie das Löschen verwaister Dateien
-
Ö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:UpdateTableundlakeformation:GetDataAccessfü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 das Löschen verwaister Dateien aktivieren möchten.
Wählen Sie im unteren Bereich der Seite die Registerkarte Tabellenoptimierung und dann unter Aktionen die Optionen Aktivieren und Löschen verwaister Dateien aus.
Sie können auch im Aktionsmenü oben rechts die Option Aktivieren unter Optimierung auswählen.
-
Wählen Sie auf der Seite Optimierung aktivieren unter Optimierungsoptionen die Option Löschen verwaister Dateien aus.
-
Wenn Sie die Standardeinstellungen verwenden, werden alle verwaisten Dateien nach 3 Tagen gelöscht. Wenn Sie die verwaisten Dateien für eine bestimmte Anzahl von Tagen behalten möchten, wählen Sie Einstellungen anpassen aus.
-
Als Nächstes wählen Sie eine IAM-Rolle mit den erforderlichen Berechtigungen zum Löschen verwaister Dateien.
-
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.
-
Wenn Sie Einstellungen anpassen auswählen, geben Sie unter Konfiguration zum Löschen verwaister Dateien die Anzahl der Tage ein, für die die Dateien vor dem Löschen beibehalten werden sollen. Sie können auch das Intervall zwischen zwei aufeinanderfolgenden Optimiererausführungen angeben. Der Standardwert beträgt 24 Stunden.
-
Wählen Sie Optimierung aktivieren aus.
-
- AWS CLI
-
Um das Löschen verwaister Dateien für eine Iceberg-Tabelle in AWS Glue zu aktivieren, müssen Sie einen Tabellenoptimierer vom Typ
orphan_file_deletionerstellen und dasenabled-Feld auf „true“ setzen. Um einen Optimierer zum Löschen verwaister Dateien für eine Iceberg-Tabelle mit AWS CLI zu erstellen, können Sie den folgenden Befehl verwenden:aws glue create-table-optimizer \ --catalog-id123456789012\ --database-nameiceberg_db\ --table-nameiceberg_table\ --table-optimizer-configuration '{"roleArn":"arn:aws:iam::123456789012:role/optimizer_role","enabled":true, "vpcConfiguration":{ "glueConnectionName":"glue_connection_name"}, "orphanFileDeletionConfiguration":{"icebergConfiguration":{"orphanFileRetentionPeriodInDays":3, "location":'S3 location'}}}'\ --type orphan_file_deletionDieser Befehl erstellt einen Optimierer für das Löschen verwaister Dateien für die angegebene Iceberg-Tabelle. Folgende sind die wichtigsten Parameter:
-
roleArn – der ARN der IAM-Rolle mit Berechtigungen für den Zugriff auf den S3-Bucket und die Glue-Ressourcen.
-
aktiviert – auf „true“ festlegen, um den Optimierer zu aktivieren.
-
orphanFileRetentionPeriodInDays – die Anzahl der Tage, für die verwaiste Dateien beibehalten werden sollen, bevor sie gelöscht werden (mindestens 1 Tag).
-
Typ – auf „orphan_file_deletion“ setzen, um einen Optimierer für das Löschen verwaister Dateien zu erstellen.
Nach der Erstellung des Tabellenoptimierers wird das Löschen verwaister Dateien in regelmäßigen Abständen durchgeführt (einmal täglich, sofern aktiviert). Sie können die Ausführungen mithilfe der
list-table-optimizer-runs-API überprüfen. Der Auftrag zum Löschen verwaister Dateien identifiziert und löscht Dateien, die nicht in den Iceberg-Metadaten für die Tabelle erfasst sind. -
- API
-
Rufen Sie den Vorgang CreateTableOptimizer auf, um den Optimierer für das Löschen verwaister Dateien für eine bestimmte Tabelle zu erstellen.