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.
Haltbarkeit und Richtigkeit
Speicherorte der S3-Tabelle:
Wenn sich mehrere AWS Glue Data Catalog Tabellen denselben Amazon S3-Standort teilen und Optimierer aktiviert sind, löscht der Optimierer für die Snapshot-Aufbewahrung oder das Löschen verwaister Dateien für eine Tabelle möglicherweise Dateien, auf die die andere Tabelle immer noch verweist. Stellen Sie sicher, dass jede Tabelle mit aktivierten Optimizern über einen eindeutigen Amazon S3-Speicherort verfügt, der nicht mit anderen Tabellen gemeinsam genutzt wird, auch nicht mit Tabellen in anderen Datenbanken.
Ablauf des S3-Lebenszyklus:
Die Amazon S3-Regeln zum Ablauf des Lebenszyklus, die für Speicherorte von Iceberg-Tabellen gelten, können Manifest- und Datendateien löschen, auf die immer noch von aktiven Snapshots verwiesen wird. Wenn für Ihren Bucket Regeln zum Ablauf des Lebenszyklus gelten, stellen Sie sicher, dass sie den Speicherpfad der Iceberg-Tabelle ausschließen.
Verzögerte Commits:
In Streaming-Pipelines mit hohem Durchsatz können verzögerte Commits auftreten. Konfigurieren Sie orphanFileRetentionPeriodInDays die Konfiguration so, dass die erwartete maximale Zeit zwischen der Dateierstellung und dem erfolgreichen Commit-Abschluss überschritten wird, einschließlich Verarbeitungsverzögerungen und Wiederholungsversuchen.
Der Optimizer für das Löschen verwaister Dateien verwendet die Metadaten der Iceberg-Tabelle, die verfügbar sind, wenn er ausgeführt wird. Wenn eine Datei die konfigurierte Altersgrenze erreicht, bevor sie durch den Commit zu den Metadaten der Iceberg-Tabelle hinzugefügt wird, kann der Optimierer die Datei als verwaiste Datei identifizieren und löschen.
Bei einem späteren Commit kann die gelöschte Datei dann zu den Metadaten der Iceberg-Tabelle hinzugefügt werden. Dies kann dazu führen, dass Abfragen und Tabellenoptimierungsläufe fehlschlagen.
Bekannte Probleme
Catalog-level In der Dokumentation zu den Tabellenoptimierern heißt es, dass „Tabellen ohne eigene Optimiererkonfigurationen den deaktivierten Status von der Katalogebene erben“. Es gibt ein bekanntes Problem, bei dem einige Tabellen ohne eigene Optimiererkonfiguration den Status „Deaktiviert“ möglicherweise nicht korrekt von der Konfiguration auf Katalogebene erben. Überprüfen Sie anhand der Ausführungsprotokolle der AWS Glue Konsole und des Optimizers, welche Optimierer derzeit aktiviert sind und in Ihrem Konto ausgeführt werden, und deaktivieren Sie alle Optimierer, die Sie nicht benötigen.
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ätskontrolle, sodass mehrere Autoren Operationen gleichzeitig ausführen können. Konflikte werden bei der Übertragung erkannt und gelöst. Wenn Sie mit Streaming-Pipelines arbeiten, konfigurieren Sie mithilfe der Tabelleneigenschaften und Komprimierungseinstellungen die entsprechenden Wiederholungseinstellungen, um gleichzeitige Schreibvorgänge effektiv zu verarbeiten. Eine ausführliche Anleitung zur Verwaltung gleichzeitiger Schreibvorgänge in Iceberg-Tabellen finden Sie im AWS Big Data-Blog.
Wiederholte Komprimierungsversuche:
Wenn Komprimierungsvorgänge viermal hintereinander fehlschlagen, wird der Optimierer durch die Optimierung der AWS Glue Katalogtabelle automatisch angehalten, um unnötigen Verbrauch von Rechenressourcen zu verhindern. Untersuchen Sie zunächst die Protokolle und versuchen Sie zu verstehen, warum die Komprimierung wiederholt fehlschlägt. Um die Komprimierungsoptimierung fortzusetzen, können Sie den Optimierer über die Konsole oder die API erneut aktivieren. AWS Glue
Die Datenverdichtung unterstützt:
Verschlüsselung — Die Datenkomprimierung 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 Z-order
-
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 der Speicherklasse Amazon S3 Express One Zone — Sie können keine Komprimierung auf Amazon S3 Express One Zone Iceberg-Tabellen ausführen.
Z-order Die Komprimierungsstrategie unterstützt die folgenden Datentypen nicht:
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.
Wichtig
orphanFileRetentionPeriodInDaysgilt nur für den Optimierer für das Löschen verwaister Dateien. Der Optimierer für die Aufbewahrung von Snapshots verwendet diesen Wert nicht und bewertet auch nicht das Dateialter in Amazon S3.
Wenn dies der Fall cleanExpiredFiles isttrue, werden Dateien, auf die in keinem der gespeicherten Snapshots mehr verwiesen wird, im Rahmen des Ablaufs des Snapshots gelöscht. Konfigurieren Sie snapshotRetentionPeriodInDays und numberOfSnapshotsToRetain passen Sie es Ihren Anforderungen an Zeitreisen und Rollbacks an.
Ausnahme beim Debuggen OversizedAllocationException
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.