Überlegungen und Einschränkungen für Wartungsarbeiten
Amazon S3 bietet Wartungsvorgänge, die dazu dienen, die Leistung Ihrer S3-Tabellen oder Tabellen-Buckets zu verbessern. Zu diesen Optionen gehören die Dateikomprimierung, die Snapshot-Verwaltung und die Entfernung nicht referenzierter Dateien. Im Folgenden werden die Einschränkungen und Überlegungen zu diesen Verwaltungsoptionen beschrieben.
Themen
Überlegungen zur Komprimierung
Folgende Überlegungen betreffen die Komprimierung. Weitere Informationen zur Komprimierung finden Sie unter Wartung von Tabellen.
-
Die Komprimierung wird nur für Apache Parquet-, Avro- und ORC-Dateitypen unterstützt.
-
Die Komprimierung schreibt neue Dateien standardmäßig im Apache Parquet Format. Um Dateien stattdessen in Avro oder ORC Formate zu komprimieren, setzen Sie die
write.format.defaultTabelleneigenschaft aufavrooderorc. -
Die Komprimierung unterstützt Datentypen nicht:
Fixed. -
Die Komprimierung unterstützt Komprimierungstypen nicht:
brotli,lz4 Die Komprimierung erfolgt nach einem automatisierten Zeitplan. Wenn Sie Kosten im Zusammenhang mit der Komprimierung vermeiden möchten, können Sie sie mithilfe des API-Vorgangs PutTableMaintenanceConfiguration manuell für eine Tabelle deaktivieren.
Anmerkung
Apache Iceberg verwendet ein optimistisches Parallelitätsmodell zusammen mit Konflikterkennung, um Schreibtransaktionen zu vermitteln. Bei optimistischer Parallelität können Benutzer- und Komprimierungstransaktionen zu Konflikten führen, sodass Transaktionen fehlschlagen. Wenn Konflikte auftreten, werden die Komprimierungsaufträge bei einem Fehler erneut versucht. Es wird empfohlen, dass Ihre Pipelines auch Wiederholungslogik verwenden, um Transaktionen zu beheben, die aufgrund widersprüchlicher Vorgänge fehlschlagen.
Hinweise zur Snapshot-Verwaltung
Folgende Überlegungen betreffen die Snapshot-Verwaltung: Weitere Informationen zur Snapshot-Verwaltung finden Sie unter Wartung von Tabellen.
-
Snapshots werden nur aufbewahrt, wenn beide Kriterien erfüllt sind: die Mindestanzahl der aufzubewahrenden Snapshots und der festgelegte Aufbewahrungszeitraum.
-
Die Snapshot-Verwaltung löscht abgelaufene Snapshot-Metadaten aus Apache Iceberg, wodurch Zeitreiseabfragen für abgelaufene Snapshots verhindert und zugehörige Datendateien optional gelöscht werden.
-
Die Snapshot-Verwaltung unterstützt keine Aufbewahrungswerte, die Sie als Eigenschaften von Iceberg-Tabellen in der Datei
metadata.jsonoder über den SQL-BefehlALTER TABLE SET TBLPROPERTIESkonfigurieren. Dies gilt auch für die verzweigungs- oder Tag-basierte Aufbewahrung. Die Snapshot-Verwaltung ist deaktiviert, wenn Sie eine verzweigungs- oder tagbasierte Aufbewahrungsrichtlinie oder eine Aufbewahrungsrichtlinie für die Dateimetadata.jsonkonfigurieren, die länger ist als die über diePutTableMaintenanceConfiguration-API konfigurierten Werte. In diesen Fällen lässt S3 Snapshots nicht ablaufen oder entfernen. Sie müssen die Snapshots manuell löschen oder die Eigenschaften aus Ihrer Iceberg-Tabelle entfernen, um Speichergebühren zu vermeiden.
Überlegungen zum Entfernen von nicht referenzierten Dateien
Die folgenden Überlegungen betreffen das Entfernen von Dateien, die nicht referenziert sind. Weitere Informationen zum Entfernen nicht referenzierter Dateien finden Sie unter Wartung von Tabellen-Buckets.
-
Beim Entfernen nicht referenzierter Dateien werden Daten- und Metadatendateien gelöscht, die nicht mehr durch Iceberg-Metadaten referenziert sind, wenn ihr Erstellungsdatum vor dem Aufbewahrungszeitraum liegt.
Beschränkungen für Wartungsoperationen von S3-Tabellen und Tabellen-Buckets sowie zugehörige APIs
| Wartungsoperation | Eigenschaft | Auf Tabellen-Bucket-Ebene konfigurierbar? | Auf Tabellenebene konfigurierbar? | Standardwert | Mindestwert | Verwandte Iceberg Wartungsroutine | Steuern der S3-Tables-API |
|---|---|---|---|---|---|---|---|
| Komprimierung | targetFileSizeMB |
Nein | Ja | 512 MB | 64 MB | |
PutTableMaintenanceConfiguration |
| Snapshot-Verwaltung | minimumSnapshots |
Nein | Ja | 1 | 1 | ExpireSnapshotsretainLast |
PutTableMaintenanceConfiguration |
| Snapshot-Verwaltung | maximumSnapshotAge |
Nein | Ja | 120 Stunden | 1 Stunde | ExpireSnapshotsexpireOlderThan |
PutTableMaintenanceConfiguration |
| Entfernung nicht referenzierter Dateien | unreferencedDays |
Ja | Nein | 3 Tage | 1 Tag | deleteOrphanFiles |
PutTableBucketMaintenanceConfiguration |
| Entfernung nicht referenzierter Dateien | nonCurrentDays |
Ja | Nein | 10 Tage | 1 Tag | N/A | PutTableBucketMaintenanceConfiguration |
Anmerkung
S3 Tables wendet die Standardgröße für Parquets für Zeilengruppen von 128 MB an.