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.
Überlegungen und Einschränkungen
Dieser Abschnitt enthält Dinge, die bei der Verwendung von Tabellenoptimierern innerhalb von AWS Glue Data Catalog zu beachten sind.
Unterstützte Formate und Einschränkungen für die verwaltete Datenverdichtung
Die Datenverdichtung unterstützt eine Vielzahl von Datentypen und Verdichtungsformaten zum Lesen und Schreiben von Daten, einschließlich des Lesens von Daten aus verschlüsselten Tabellen.
Kontrolle der Parallelität:
Apache Iceberg unterstützt eine optimistische Parallelitätssteuerung, sodass mehrere Autoren gleichzeitig Operationen ausführen können. Konflikte werden beim Festschreiben erkannt und gelöst. Wenn Sie mit Streaming-Pipelines arbeiten, konfigurieren Sie die entsprechenden Einstellungen für Wiederholungsversuche in den Tabelleneigenschaften und den Komprimierungseinstellungen, um gleichzeitige Schreibvorgänge effektiv verarbeiten zu können. Eine ausführliche Anleitung finden Sie im AWS Big Data-Blog zur Verwaltung gleichzeitiger Schreibvorgänge in Iceberg-Tabellen. Siehe big-data/ - - -catalog/ https://aws.amazon.com/blogs/ manage-concurrent-write-conflicts in-apache-iceberg-on the-aws-glue-data
Wiederholungsversuche bei der Komprimierung:
Wenn Verdichtungsvorgänge viermal hintereinander fehlschlagen, unterbricht die Optimierung der AWS Glue Katalogtabelle den Optimizer automatisch, um einen unnötigen Verbrauch von Rechenressourcen zu verhindern. Untersuchen Sie zunächst die Protokolle und versuchen Sie herauszufinden, warum die Komprimierung wiederholt fehlschlägt. Um die Verdichtungsoptimierung wieder aufzunehmen, können Sie den Optimizer über die AWS Glue Konsole oder API erneut aktivieren.
Die Datenverdichtung unterstützt:
Verschlüsselung: Die Datenverdichtung unterstützt nur die standardmäßige Amazon-S3-Verschlüsselung (SSE-S3) und die serverseitige KMS-Verschlüsselung (SSE-KMS).
Verdichtungsstrategien: Binpack, Sortierung und Sortierung in Z-Reihenfolge
-
Sie können die Verdichtung über das Konto ausführen, in dem sich der Datenkatalog befindet, wenn sich der Amazon-S3-Bucket, in dem die zugrunde liegenden Daten gespeichert werden, in einem anderen Konto befindet. Dazu benötigt die Verdichtungsrolle Zugriff auf den Amazon-S3-Bucket.
Die Datenverdichtung unterstützt derzeit nicht:
-
Verdichtung für kontoübergreifende Tabellen: Sie können die Verdichtung nicht für kontoübergreifende Tabellen ausführen.
-
Verdichtung für regionsübergreifende Tabellen: Sie können die Verdichtung nicht für regionsübergreifende Tabellen ausführen.
Aktivieren der Verdichtung für Ressourcenlinks
-
Tabellen in der Speicherklasse Amazon S3 Express One Zone: Für Iceberg-Tabellen in S3 Express One Zone können Sie keine Verdichtung ausführen.
Bei der Verdichtungsstrategie mit Z-Reihenfolge werden die folgenden Datentypen nicht unterstützt:
Dezimal
TimestampWithoutZone
Überlegungen zu Optimierungsprogrammen für die Aufbewahrung von Snapshots und das Löschen verwaister Dateien
Die folgenden Überlegungen gelten für Optimierungsprogramme für die Aufbewahrung von Snapshots und das Löschen verwaister Dateien.
Die Prozesse zur Aufbewahrung von Snapshots und zum Löschen verwaister Dateien haben eine maximale Grenze von 1 000 000 Dateien pro Ausführung. Wenn beim Löschen abgelaufener Snapshots die Anzahl der zum Löschen infrage kommenden Dateien 1 000 000 überschreitet, bleiben alle darüber hinausgehenden Dateien als verwaiste Dateien im Tabellenspeicher erhalten.
-
Snapshots werden vom Optimierungsprogramm nur dann aufbewahrt, wenn beide Kriterien erfüllt sind: die Mindestanzahl der aufzubewahrenden Snapshots und der festgelegte Aufbewahrungszeitraum.
-
Das Optimierungsprogramm für die Aufbewahrung von Snapshots löscht abgelaufene Snapshot-Metadaten aus Apache Iceberg, wodurch Zeitreiseabfragen für abgelaufene Snapshots verhindert und zugehörige Datendateien optional gelöscht werden.
-
Das Optimierungsprogramm zum Löschen verwaister Dateien löscht verwaiste Daten- und Metadatendateien, auf die von den Iceberg-Metadaten nicht mehr verwiesen wird, wenn ihr Erstellungszeitpunkt vor der Aufbewahrungsfrist für verwaiste Dateien zum Zeitpunkt der Ausführung des Optimierungsprogramms liegt.
-
Apache Iceberg erleichtert die Versionskontrolle durch Branches und Tags, bei denen es sich um benannte Verweise auf bestimmte Snapshot-Zustände handelt. Jeder Branch und jedes Tag folgt seinem eigenen unabhängigen Lebenszyklus, der durch die auf den jeweiligen Ebenen definierten Aufbewahrungsrichtlinien geregelt wird. Die AWS Glue Data Catalog Optimierer berücksichtigen diese Lebenszyklusrichtlinien und stellen so sicher, dass die angegebenen Aufbewahrungsregeln eingehalten werden. Aufbewahrungsrichtlinien auf Branch- und Tag-Ebene haben Vorrang vor den Optimierungskonfigurationen.
Weitere Informationen finden Sie unter Branching and Tagging
in der Apache-Iceberg-Dokumentation. -
Optimierungsprogramme für die Aufbewahrung von Snapshots und das Löschen verwaister Dateien löschen Dateien, die gemäß den konfigurierten Parametern für die Bereinigung infrage kommen. Verbessern Sie Ihre Kontrolle über das Löschen von Dateien, indem Sie S3-Versionsverwaltung und Lebenszyklusrichtlinien für die entsprechenden Buckets implementieren.
Ausführliche Anweisungen zum Einrichten der Versionsverwaltung und zum Erstellen von Lebenszyklusregeln finden Sie unter https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html.
-
Stellen Sie für die korrekte Ermittlung verwaister Dateien sicher, dass sich der angegebene Speicherort der Tabelle und alle Unterpfade nicht mit Daten aus anderen Tabellen oder Datenquellen überschneiden oder diese enthalten. Wenn sich Pfade überschneiden, riskieren Sie einen unwiederbringlichen Datenverlust durch unbeabsichtigtes Löschen von Dateien.
Debuggen von OversizedAllocationException-Ausnahmen
So beheben Sie eine OversizedAllocationException-Ausnahme:
Reduzieren Sie die Stapelgröße des vektorisierten Readers und überprüfen Sie das Ergebnis. Die Standardstapelgröße ist 5000. Dies wird in
read.parquet.vectorization.batch-sizegesteuert.Wenn dies auch nach mehreren Variationen nicht funktioniert, deaktivieren Sie die Vektorisierung. Dies wird in
read.parquet.vectorization.enabledgesteuert.Wenn dies auch nach mehreren Variationen nicht funktioniert, deaktivieren Sie die Vektorisierung. Dies wird in
read.parquet.vectorization.enabledgesteuert.