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.
Wartung für Tabellen
S3 Tables bietet Wartungsvorgänge, um die Verwaltung und Leistung Ihrer einzelnen Tabellen zu verbessern. Die folgenden Optionen sind standardmäßig für alle Tabellen in Tabellen-Buckets aktiviert. Sie können sie bearbeiten oder deaktivieren, indem Sie Wartungskonfigurationsdateien für Ihre S3 Table angeben.
Für die Bearbeitung dieser Konfiguration sind die Berechtigungen s3tables:GetTableMaintenanceConfiguration
und s3tables:PutTableMaintenanceConfiguration
erforderlich.
Komprimierung
Die Komprimierung wird auf Tabellenebene konfiguriert und kombiniert mehrere kleinere Objekte zu weniger, größeren Objekten, um die Apache Iceberg Abfrageleistung zu verbessern. Beim Kombinieren von Objekten werden bei der Komprimierung auch die Auswirkungen von Löschungen auf Zeilenebene in Ihrer Tabelle angewendet.
Die Komprimierung ist standardmäßig für alle Tabellen aktiviert, mit einer Standardzieldateigröße von 512 MB oder einem von Ihnen angegebenen benutzerdefinierten Wert zwischen 64 MB und 512 MB. Die komprimierten Dateien werden als der neueste Snapshot Ihrer Tabelle geschrieben.
Strategien zur Komprimierung
Sie können aus mehreren Komprimierungsstrategien wählen, die die Abfrageleistung je nach Ihren Abfragemustern und der Sortierreihenfolge der Tabellen weiter erhöhen können.
S3 Tables unterstützt diese Komprimierungsstrategien für Tabellen:
-
Auto (Standard)
-
Amazon S3 wählt auf der Grundlage Ihrer Tabellensortierreihenfolge die beste Verdichtungsstrategie aus. Dies ist die Standardkomprimierungsstrategie für alle Tabellen.
-
Bei Tabellen mit einer definierten Sortierreihenfolge in ihren Metadaten
auto
wird automatisch diesort
Komprimierung angewendet. -
Für Tabellen ohne Sortierreihenfolge
auto
wird standardmäßig diebinpack
Komprimierung verwendet.
-
-
Binpack
-
Kombiniert kleine Dateien zu größeren Dateien und zielt in der Regel auf Größen über 100 MB ab, wobei alle ausstehenden Löschungen angewendet werden. Dies ist die Standardkomprimierungsstrategie für unsortierte Tabellen.
-
-
Sortierung
-
Organisiert Daten auf der Grundlage bestimmter Spalten, die während der Komprimierung automatisch nach Hierarchie sortiert werden, wodurch die Abfrageleistung für gefilterte Operationen verbessert wird. Diese Strategie wird empfohlen, wenn Ihre Abfragen häufig nach bestimmten Spalten filtern. Wenn Sie diese Strategie verwenden, wendet S3 Tables automatisch eine hierarchische Sortierung auf Spalten an, wenn a in den Tabelleneigenschaften definiert
sort_order
ist.
-
-
Z-Reihenfolge
-
Optimiert die Datenorganisation, indem mehrere Attribute zu einem einzigen Skalarwert zusammengefasst werden, der für die Sortierung verwendet werden kann, was eine effiziente Abfrage über mehrere Dimensionen hinweg ermöglicht. Diese Strategie wird empfohlen, wenn Sie Daten über mehrere Dimensionen gleichzeitig abfragen müssen. Bei dieser Strategie müssen Sie mithilfe der Tabelleneigenschaft eine Sortierreihenfolge in Ihren
sort_order
Iceberg-Tabelleneigenschaften definieren.
-
Bei der Verdichtung fallen zusätzliche Kosten an. Weitere Informationen finden Sie in den Preisinformationen unter Amazon S3 – Preise
Beispiele für die Verdichtung
Die folgenden Beispiele zeigen Konfigurationen für die Tabellenkomprimierung.
- Um die Zieldateigröße für die Komprimierung zu konfigurieren, verwenden Sie AWS CLI
-
Die Mindestgröße der Zielkomprimierungsdatei beträgt 64 MB, die maximale Größe 512 MB.
Im folgenden Beispiel wird die Zieldateigröße mithilfe der
PutTableMaintenanceConfiguration
-API auf 256 MB geändert.aws s3tables put-table-maintenance-configuration \ --table-bucket-arn arn:aws:s3tables:
us-east-1
:111122223333
:bucket/amzn-s3-demo-bucket1
\ --type icebergCompaction \ --namespacemynamespace
\ --nametesttable
\ --value='{"status":"enabled","settings":{"icebergCompaction":{"targetFileSizeMB":256}}}'Weitere Informationen finden Sie unter put-table-maintenance-configuration
in der Referenz zum AWS CLI -Befehl. - Um die Verdichtungsstrategie zu konfigurieren, verwenden Sie AWS CLI
-
Im folgenden Beispiel wird die Verdichtungsstrategie auf die
sort
Verwendung derPutTableMaintenanceConfiguration
API umgestellt. Bei der Einstellung der Komprimierung können Sie aus den folgenden Verdichtungsstrategien wählen:auto
,, oderbinpack
sort
z-order
Anmerkung
Um die Verdichtungsstrategie auf
sort
oder einzustellen, benötigenz-order
Sie die folgenden Voraussetzungen:Eine in Ihren Iceberg Tabelleneigenschaften definierte Sortierreihenfolge.
Die
s3tables:GetTableData
Erlaubnis.
aws s3tables put-table-maintenance-configuration \ --table-bucket-arn arn:aws:s3tables:
us-east-1
:111122223333
:bucket/amzn-s3-demo-table-bucket \ --type icebergCompaction \ --namespacemynamespace
\ --nametesttable
\ --value='{"status":"enabled","settings":{"icebergCompaction":{"strategy":"sort"}}}'Weitere Informationen finden Sie unter put-table-maintenance-configuration
in der Referenz zum AWS CLI -Befehl. - Um die Komprimierung zu deaktivieren, verwenden Sie AWS CLI
-
Im folgenden Beispiel wird die Komprimierung mithilfe der
PutTableMaintenanceConfiguration
-API deaktiviert.aws s3tables put-table-maintenance-configuration \ --table-bucket-arn arn:aws:s3tables:
us-east-1
:111122223333
:bucket/amzn-s3-demo-table-bucket \ --type icebergCompaction \ --namespacemynamespace
\ --nametesttable
\ --value='{"status":"disabled","settings":{"icebergCompaction":{"targetFileSizeMB":256}}}'Weitere Informationen finden Sie unter put-table-maintenance-configuration
in der Referenz zum AWS CLI -Befehl.
Snapshot-Verwaltung
Die Snapshot-Verwaltung bestimmt die Anzahl der aktiven Snapshots für Ihre Tabelle. Sie basiert auf MinimumSnapshots
(standardmäßig 1) und MaximumSnapshotAge
(standardmäßig 120 Stunden). Auf der Basis dieser Konfigurationen lässt die Snapshot-Verwaltung Tabellen-Snapshots ablaufen und entfernt sie.
Wenn ein Snapshot abläuft, markiert Amazon S3 alle Objekte, die nur von diesem Snapshot referenziert sind, als nicht aktuell. Diese veralteten Objekte werden nach Ablauf der Anzahl von Tagen gelöscht, die in Ihrer Richtlinie zur Entfernung nicht referenzierter Dateien als Eigenschaft NoncurrentDays
festgelegt wurde.
Anmerkung
Das Löschen von Objekten, die nicht aktuell sind, ist dauerhaft und es besteht keine Möglichkeit, diese Objekte wiederherzustellen.
Um Objekte anzuzeigen oder wiederherzustellen, die als nicht aktuell markiert wurden, wenden Sie sich an AWS -Support. Informationen zur Kontaktaufnahme finden Sie AWS -Support unter Kontakt AWS
Die Snapshot-Verwaltung bestimmt, welche Objekte aus Ihrer Tabelle gelöscht werden sollen, wobei nur Verweise auf diese Tabelle verwendet werden. Verweise auf diese Objekte von außerhalb der Tabelle verhindern nicht, dass die Snapshot-Verwaltung sie löscht.
Anmerkung
Die Snapshot-Verwaltung unterstützt keine Aufbewahrungswerte, die Sie als Eigenschaften von Iceberg-Tabellen in der Datei metadata.json
oder über den SQL-Befehl ALTER TABLE SET TBLPROPERTIES
konfigurieren. 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 Datei metadata.json
konfigurieren, die länger ist als die über die PutTableMaintenanceConfiguration
-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.
Sie können die Snapshot-Verwaltung nur auf Tabellenebene konfigurieren. Weitere Informationen finden Sie in den Preisinformationen unter Amazon S3 – Preise
Beispiele für die Snapshot-Verwaltung
Die folgenden Beispiele zeigen Konfigurationen für die Verwaltung von Tabellen-Snapshots.
- Um das Snapshot-Management mit dem zu konfigurieren AWS CLI
-
Im folgenden Beispiel werden mithilfe der
PutTableMaintenanceConfiguration
-API der WertMinimumSnapshots
auf 10 und der WertMaximumSnapshotAge
auf 2.500 Stunden festgelegt.aws s3tables put-table-maintenance-configuration \ --table-bucket-arn arn:aws:s3tables:
us-east-1
:111122223333
:bucket/amzn-s3-demo-table-bucket \ --namespacemy_namespace
\ --namemy_table
\ --type icebergSnapshotManagement \ --value '{"status":"enabled","settings":{"icebergSnapshotManagement":{"minSnapshotsToKeep":10,"maxSnapshotAgeHours":2500}}}' - Um die Snapshot-Verwaltung zu deaktivieren, verwenden Sie AWS CLI
-
Im folgenden Beispiel wird die Snapshot-Verwaltung mithilfe der
PutTableMaintenanceConfiguration
API deaktiviert.aws s3tables put-table-maintenance-configuration \ --table-bucket-arn arn:aws:s3tables:
us-east-1
:111122223333
:bucket/amzn-s3-demo-table-bucket \ --namespacemy_namespace
\ --namemy_table
\ --type icebergSnapshotManagement \ --value '{"status":"disabled","settings":{"icebergSnapshotManagement":{"minSnapshotsToKeep":1,"maxSnapshotAgeHours":120}}}'
Weitere Informationen finden Sie unter put-table-maintenance-configuration
Überlegungen und Einschränkungen
Weitere Informationen zu zusätzlichen Überlegungen und Einschränkungen bei der Komprimierung und Snapshot-Verwaltung finden Sie unter Überlegungen und Einschränkungen für Wartungsarbeiten.
Anmerkung
S3 Tables wendet die row-group-default Parkettgröße von 128 MB an.