Optimierung von Iceberg-Tabellen
AWS Glue unterstützt mehrere Optionen zur Tabellenoptimierung, um die Verwaltung und Leistung von Apache-Iceberg-Tabellen zu verbessern, die von den AWS-Analytik-Engines und ETL-Aufträgen verwendet werden. Diese Optimierer sorgen für eine effiziente Speichernutzung, eine verbesserte Abfrageleistung und ein effektives Datenmanagement. Es gibt drei Arten von Tabellenoptimierern in AWS Glue:
Komprimierung: Bei der Datenkomprimierung werden kleine Datendateien komprimiert, um den Speicherverbrauch zu reduzieren und die Leseleistung zu verbessern. Datendateien werden zusammengeführt und neu geschrieben, um veraltete Daten zu entfernen und fragmentierte Daten in größeren, effizienteren Dateien zu konsolidieren. Sie können die Komprimierung so konfigurieren, dass sie automatisch ausgeführt wird.
Binpack ist die Standardkomprimierungsstrategie in Apache Iceberg. Dabei werden kleinere Datendateien zu größeren kombiniert, um eine optimale Leistung zu erzielen. Die Komprimierung unterstützt auch Sortier- und Z-Ordnungsstrategien, bei denen ähnliche Daten gruppiert werden. Bei der Sortierstrategie werden Daten basierend auf bestimmten Spalten geordnet, die bei der Komprimierung hierarchisch sortiert werden, wodurch die Abfrageleistung für gefilterte Vorgänge verbessert wird. Bei der Z-Ordnung werden sortierte Datensätze erstellt, die die Abfrageleistung verbessern, wenn mehrere Spalten gleichzeitig abgefragt werden. Alle drei Komprimierungsstrategien: Binpack, Sortier- und Z-Ordnungsstrategie – reduzieren die Menge der von Abfrage-Engines gescannten Daten und senken so die Kosten für die Abfrageverarbeitung.
Aufbewahrung von Snapshots: Snapshots sind Versionen einer Iceberg-Tabelle mit Zeitstempel. Mit Konfigurationen zur Beibehaltung von Snapshots können Kunden festlegen, wie lange und wie viele Snapshots beibehalten werden sollen. Die Konfiguration eines Optimierer zur Aufbewahrung von Snapshots kann helfen, den Speicheraufwand zu minimieren, indem ältere, unnötige Snapshots und die zugehörigen zugrunde liegenden Dateien entfernt werden.
Löschen verwaister Dateien: Verwaiste Dateien sind Dateien, auf die in den Metadaten der Iceberg-Tabelle nicht mehr verwiesen wird. Diese Dateien können sich im Laufe der Zeit ansammeln, insbesondere nach Vorgängen wie dem Löschen von Tabellen oder fehlgeschlagenen ETL-Aufträgen. Durch die Aktivierung der Löschung verwaister Dateien kann AWS Glue diese unnötigen Dateien regelmäßig identifizieren und entfernen, wodurch Speicherplatz freigegeben wird.
Die Optimierungskonfiguration auf Katalogebene ist über die Lake-Formation-Konsole und mithilfe des AWS Glue-UpdateCatalog-API-Vorgangs verfügbar. Sie können die Optimierer für die Komprimierung, die Aufbewahrung von Snapshots und das Löschen verwaister Dateien für einzelne Iceberg-Tabellen im Datenkatalog mithilfe der AWS Glue-Konsole, der AWS CLI oder den AWS Glue-API-Vorgängen aktivieren oder deaktivieren.
Das folgende Video veranschaulicht, wie Sie Optimierer für Iceberg-Tabellen im Datenkatalog konfigurieren.