

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.

# Füllen und Verwalten von Transaktionstabellen
<a name="populate-otf"></a>

[Apache Iceberg](https://iceberg.apache.org/), [Apache Hudi](https://hudi.incubator.apache.org/) und Linux Foundation [Delta Lake](https://delta.io/) sind Open-Source-Tabellenformate, die für die Verarbeitung umfangreicher Datenanalysen und Data-Lake-Workloads in Apache Spark entwickelt wurden. 

Sie können Iceberg-, Hudi- und Delta Lake-Tabellen AWS Glue Data Catalog mit den folgenden Methoden auffüllen: 
+ AWS-Glue-Crawler; — AWS-Glue-Crawler s kann automatisch Iceberg-, Hudi- und Delta Lake-Tabellenmetadaten im Datenkatalog erkennen und auffüllen. Weitere Informationen finden Sie unter [Verwenden von Crawlern zum Auffüllen des Datenkatalogs](add-crawler.md).
+ AWS Glue ETL-Jobs — Sie können ETL-Jobs erstellen, um Daten in Iceberg-, Hudi- und Delta Lake-Tabellen zu schreiben und deren Metadaten im Datenkatalog aufzufüllen. Weitere Informationen finden Sie unter [Verwenden von Data-Lake-Frameworks mit AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-datalake-native-frameworks.html) ETL-Jobs.
+ AWS Glue Konsole, AWS Lake Formation Konsole AWS CLI oder API — Sie können die Konsole, die Lake Formation AWS Glue Formation-Konsole oder die API verwenden, um Iceberg-Tabellendefinitionen im Datenkatalog zu erstellen und zu verwalten.

**Topics**
+ [Erstellen von Apache-Iceberg-Tabellen](#creating-iceberg-tables)
+ [Optimieren von Iceberg-Tabellen](table-optimizers.md)
+ [Optimieren der Abfrageleistung für Iceberg-Tabellen](iceberg-column-statistics.md)

## Erstellen von Apache-Iceberg-Tabellen
<a name="creating-iceberg-tables"></a>

Sie können Apache-Iceberg-Tabellen erstellen, die das Apache-Parquet-Datenformat im AWS Glue Data Catalog verwenden, wobei sich die Daten in Amazon S3 befinden. Eine Tabelle im Data Catalog ist die Metadatendefinition, die die Daten in einem Datenspeicher repräsentiert. AWS Glue erstellt standardmäßig Iceberg-v2-Tabellen. Den Unterschied zwischen v1- und v2-Tabellen finden Sie unter [Formatversionsänderungen](https://iceberg.apache.org/spec/#appendix-e-format-version-changes) in der Apache-Iceberg-Dokumentation.

 [Apache Iceberg](https://iceberg.apache.org/) ist ein offenes Tabellenformat für sehr große analytische Datensätze. Iceberg ermöglicht einfache Änderungen an Ihrem Schema, auch bekannt als Schemaentwicklung. Das bedeutet, dass Benutzer Spalten zu einer Datentabelle hinzufügen, umbenennen oder daraus entfernen können, ohne die zugrunde liegenden Daten zu stören. Iceberg unterstützt auch die Datenversionierung, sodass Benutzer Änderungen an Daten im Laufe der Zeit nachverfolgen können. Dadurch wird die Zeitreisefeature aktiviert, mit der Benutzer auf die bisherigen Versionen von Daten zugreifen und diese abfragen und Datenänderungen zwischen Aktualisierungen und Löschungen analysieren können.

Sie können die Lake Formation Formation-Konsole oder den `CreateTable` Vorgang in der AWS Glue API verwenden AWS Glue , um eine Iceberg-Tabelle im Datenkatalog zu erstellen. Weitere Informationen finden Sie unter [CreateTable action (Python: create\$1table](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-tables.html#aws-glue-api-catalog-tables-CreateTable)).

Wenn Sie eine Iceberg-Tabelle im Data Catalog erstellen, müssen Sie das Tabellenformat und den Metadaten-Dateipfad in Amazon S3 angeben, um Lese- und Schreibvorgänge durchführen zu können.

 Sie können Lake Formation verwenden, um Ihre Iceberg-Tabelle mithilfe detaillierter Zugriffskontrollberechtigungen zu sichern, wenn Sie den Amazon S3 S3-Datenstandort bei registrieren. AWS Lake Formation Für Quelldaten in Amazon S3 und Metadaten, die nicht bei Lake Formation registriert sind, wird der Zugriff durch IAM-Berechtigungsrichtlinien für Amazon S3 und AWS Glue Aktionen bestimmt. Weitere Informationen finden Sie unter [Verwalten von Berechtigungen](https://docs.aws.amazon.com/lake-formation/latest/dg/managing-permissions.html). 

**Anmerkung**  
Data Catalog unterstützt nicht das Erstellen von Partitionen und das Hinzufügen von Iceberg-Tabelleneigenschaften.

### Voraussetzungen
<a name="iceberg-prerequisites"></a>

 Um Iceberg-Tabellen im Data Catalog zu erstellen und Lake-Formation-Datenzugriffsberechtigungen einzurichten, müssen Sie die folgenden Anforderungen erfüllen: 

1. 

**Berechtigungen, die zum Erstellen von Iceberg-Tabellen ohne die bei Lake Formation registrierten Daten erforderlich sind.**

   Zusätzlich zu den Berechtigungen, die zum Erstellen der Tabelle im Data Catalog erforderlich sind, benötigt der Tabellenersteller folgende Berechtigungen:
   + `s3:PutObject` in Ressource arn:aws:s3:::\$1bucketName\$1
   + `s3:GetObject` in Ressource arn:aws:s3:::\$1bucketName\$1
   + `s3:DeleteObject` in Ressource arn:aws:s3:::\$1bucketName\$1

1. 

**Berechtigungen, die zum Erstellen von Iceberg-Tabellen mit den bei Lake Formation registrierten Daten erforderlich sind.**

   Um Lake Formation zur Verwaltung und Sicherung der Daten in Ihrem Data Lake zu verwenden, registrieren Sie Ihren Amazon-S3-Speicherort, der die Daten für Tabellen enthält, bei Lake Formation. Auf diese Weise kann Lake Formation Anmeldeinformationen an AWS Analysedienste wie Athena, Redshift Spectrum und Amazon EMR weitergeben, um auf Daten zuzugreifen. Weitere Informationen zur Registrierung eines Amazon-S3-Speicherorts finden Sie unter [Hinzufügen eines Amazon-S3-Speicherorts zu Ihrem Data Lake](https://docs.aws.amazon.com/lake-formation/latest/dg/register-data-lake.html). 

   Ein Principal, der die zugrunde liegenden Daten liest und schreibt, die bei Lake Formation registriert sind, benötigt folgende Berechtigungen:
   + `lakeformation:GetDataAccess`
   + `DATA_LOCATION_ACCESS`

     Ein Principal, der über Berechtigungen zum Speichern von Daten für einen Standort verfügt, hat auch Standortberechtigungen für alle untergeordneten Standorte.

     Weitere Informationen zu Zugriffsberechtigungen für Daten finden Sie unter [Zugrundeliegende Datenzugriffskontrolle](https://docs.aws.amazon.com/lake-formation/latest/dg/access-control-underlying-data.html#data-location-permissions).

 Um die Komprimierung zu aktivieren, muss der Service eine IAM-Rolle übernehmen, die über Berechtigungen zum Aktualisieren von Tabellen im Data Catalog verfügt. Details hierzu finden Sie unter [Voraussetzungen für die Tabellenoptimierung](optimization-prerequisites.md) 

### Erstellen einer Iceberg-Tabelle
<a name="create-iceberg-table"></a>

Sie können Iceberg v1- und v2-Tabellen mit AWS Glue Lake Formation Formation-Konsole oder AWS Command Line Interface wie auf dieser Seite dokumentiert erstellen. Sie können Iceberg-Tabellen auch mit dem AWS-Glue-Crawler erstellen. Weitere Informationen finden Sie unter [Data Catalog und Crawler](https://docs.aws.amazon.com/glue/latest/dg/catalog-and-crawler.html) im AWS Glue -Entwicklerhandbuch.

**So erstellen Sie eine Iceberg-Tabelle**

------
#### [ Console ]

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die AWS Glue Konsole unter [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/).

1. Wählen Sie unter „Data Catalog“ die Option **Tabellen** aus, und verwenden Sie die Schaltfläche **Tabelle erstellen**, um die folgenden Attribute anzugeben:
   + **Tabellenname** – Geben Sie einen Namen für die Tabelle ein. Wenn Sie Athena verwenden, um auf Tabellen zuzugreifen, verwenden Sie diese [Benennungstipps](https://docs.aws.amazon.com/athena/latest/ug/tables-databases-columns-names.html) im Amazon-Athena-Benutzerhandbuch.
   + **Datenbank** – Wählen Sie eine vorhandene Datenbank aus oder erstellen Sie eine neue.
   + **Beschreibung** – Die Beschreibung der Tabelle. Sie können eine Beschreibung zum besseren Verständnis der Inhalte der Tabelle schreiben.
   + **Tabellenformat** – Wählen Sie als **Tabellenformat** Apache Iceberg aus.
   + **Komprimierung aktivieren** – Wählen Sie **Komprimierung aktivieren** aus, um kleine Amazon-S3-Objekte in der Tabelle zu größeren Objekten zu komrimieren.
   + **IAM-Rolle** – Um die Komprimierung auszuführen, übernimmt der Service in Ihrem Namen eine IAM-Rolle. Sie können über das Dropdown-Menü eine IAM-Rolle auswählen. Die Rolle sollte die erforderlichen Berechtigungen für die Verdichtung haben.

     Unter [Voraussetzungen für die Tabellenoptimierung](optimization-prerequisites.md) erfahren Sie mehr über die für diese Rolle erforderlichen Berechtigungen.
   + **Speicherort** – Geben Sie den Pfad zu dem Ordner in Amazon S3 an, in dem die Metadatentabelle gespeichert ist. Iceberg benötigt eine Metadatendatei und einen Speicherort im Data Catalog, um Lese- und Schreibvorgänge durchführen zu können.
   + **Schema** – Wählen Sie **Spalten hinzufügen** aus, um Spalten und Datentypen der Spalten hinzuzufügen. Sie haben die Möglichkeit, eine leere Tabelle zu erstellen und das Schema später zu aktualisieren. Data Catalog unterstützt Hive-Datentypen. Weitere Informationen finden Sie unter [Datentypen](https://cwiki.apache.org/confluence/plugins/servlet/mobile?contentId=27838462#content/view/27838462). 

      Mit Iceberg können Sie Schema und Partition weiterentwickeln, nachdem Sie die Tabelle erstellt haben. Sie können [Athena-Abfragen](https://docs.aws.amazon.com/athena/latest/ug/querying-iceberg-evolving-table-schema.html) verwenden, um das Tabellenschema zu aktualisieren, und [Spark-Abfragen](https://iceberg.apache.org/docs/latest/spark-ddl/#alter-table-sql-extensions), um Partitionen zu aktualisieren. 

------
#### [ AWS CLI ]

```
aws glue create-table \
    --database-name iceberg-db \
    --region us-west-2 \
    --open-table-format-input '{
      "IcebergInput": { 
           "MetadataOperation": "CREATE",
           "Version": "2"
         }
      }' \
    --table-input '{"Name":"test-iceberg-input-demo",
            "TableType": "EXTERNAL_TABLE",
            "StorageDescriptor":{ 
               "Columns":[ 
                   {"Name":"col1", "Type":"int"}, 
                   {"Name":"col2", "Type":"int"}, 
                   {"Name":"col3", "Type":"string"}
                ], 
               "Location":"s3://DOC_EXAMPLE_BUCKET_ICEBERG/"
            }
        }'
```

------

**Topics**
+ [Voraussetzungen](#iceberg-prerequisites)
+ [Erstellen einer Iceberg-Tabelle](#create-iceberg-table)

# Optimieren von Iceberg-Tabellen
<a name="table-optimizers"></a>

AWS Glue unterstützt mehrere Tabellenoptimierungsoptionen, um die Verwaltung und Leistung von Apache Iceberg-Tabellen zu verbessern, die von den AWS Analyse-Engines und ETL-Jobs 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. Wenn Sie das Löschen verwaister Dateien aktivieren AWS Glue , können Sie diese überflüssigen Dateien regelmäßig identifizieren und entfernen, wodurch Speicherplatz frei wird.

Die Optimierungskonfiguration auf Katalogebene ist über die Lake Formation 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 Konsolen- oder API-Operationen aktivieren oder deaktivieren. AWS CLI AWS Glue 

 Das folgende Video veranschaulicht, wie Sie Optimierer für Iceberg-Tabellen im Datenkatalog konfigurieren. 

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/xOXE7AS-pNA?si=lKvt_TSlPkoc6OXn/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/xOXE7AS-pNA?si=lKvt_TSlPkoc6OXn)


**Topics**
+ [Voraussetzungen für die Tabellenoptimierung](optimization-prerequisites.md)
+ [Tabellenoptimierer auf Katalogebene](catalog-level-optimizers.md)
+ [Optimierung der Verdichtung](compaction-management.md)
+ [Optimierung der Snapshot-Aufbewahrung](snapshot-retention-management.md)
+ [Löschen verwaister Dateien](orphan-file-deletion.md)
+ [Anzeigen von Details zur Optimierung](view-optimization-status.md)
+ [Amazon CloudWatch Metriken anzeigen](view-optimization-metrics.md)
+ [Löschen eines Optimierers](delete-optimizer.md)
+ [Überlegungen und Einschränkungen](optimizer-notes.md)
+ [Unterstützte Regionen für Tabellenoptimierer](regions-optimizers.md)

# Voraussetzungen für die Tabellenoptimierung
<a name="optimization-prerequisites"></a>

Der Tabellenoptimierer übernimmt die Berechtigungen der Rolle AWS Identity and Access Management (IAM), die Sie angeben, wenn Sie Optimierungsoptionen (Komprimierung, Aufbewahrung von Snapshots und Löschen verwaister Dateien) für eine Tabelle aktivieren. Sie können entweder eine einzige Rolle für alle Optimierer erstellen oder separate Rollen für jeden Optimierer erstellen.

**Anmerkung**  
Für den Optimierer für das Löschen verwaister Dateien sind die Berechtigungen `glue:updateTable` oder `s3:putObject` nicht erforderlich. Die Optimierer für den Ablauf und die Verdichtung von Snapshots erfordern dieselben Berechtigungen.

Die IAM-Rolle muss die Berechtigungen zum Lesen von Daten und Aktualisieren von Metadaten im Datenkatalog haben. Sie können eine IAM-Rolle erstellen und die folgenden Inline-Richtlinien anfügen:
+ Fügen Sie die folgende Inline-Richtlinie hinzu, die Amazon S3 read/write S3-Berechtigungen für den Standort für Daten gewährt, für die nicht registriert sind AWS Lake Formation. Diese Richtlinie umfasst auch Berechtigungen zum Aktualisieren der Tabelle im Datenkatalog und zum Hinzufügen von Protokollen AWS Glue zu Protokollen und zum Veröffentlichen von Metriken. Amazon CloudWatch Für Quelldaten in Amazon S3, die nicht bei Lake Formation registriert sind, wird der Zugriff durch IAM-Berechtigungsrichtlinien für Amazon-S3- und AWS Glue -Aktionen bestimmt. 

  Ersetzen Sie `bucket-name` in den folgenden Inline-Richtlinien durch den Namen Ihres Amazon-S3-Buckets, `aws-account-id` und `region` durch eine gültige AWS -Kontonummer und Region des Datenkatalogs, `database_name` durch den Namen Ihrer Datenbank und `table_name` durch den Namen der Tabelle.

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "s3:PutObject",
                  "s3:GetObject",
                  "s3:DeleteObject"
              ],
              "Resource": [
                  "arn:aws:s3:::amzn-s3-demo-bucket/*"
              ]
          },
          {
              "Effect": "Allow",
              "Action": [
                  "s3:ListBucket"
              ],
              "Resource": [
                  "arn:aws:s3:::amzn-s3-demo-bucket"
              ]
          },
          {
              "Effect": "Allow",
              "Action": [
                  "glue:UpdateTable",
                  "glue:GetTable"
              ],
              "Resource": [
                  "arn:aws:glue:us-east-1:111122223333:table/<database-name>/<table-name>",
                  "arn:aws:glue:us-east-1:111122223333:database/<database-name>",
                  "arn:aws:glue:us-east-1:111122223333:catalog"
              ]
          },
          {
              "Effect": "Allow",
              "Action": [
                  "logs:CreateLogGroup",
                  "logs:CreateLogStream",
                  "logs:PutLogEvents"
              ],
              "Resource": [
                  "arn:aws:logs:us-east-1:111122223333:log-group:/aws-glue/iceberg-compaction/logs:*",
                  "arn:aws:logs:us-east-1:111122223333:log-group:/aws-glue/iceberg-retention/logs:*",
                  "arn:aws:logs:us-east-1:111122223333:log-group:/aws-glue/iceberg-orphan-file-deletion/logs:*"
              ]
          }
      ]
  }
  ```

------
+ Verwenden Sie die folgende Richtlinie, um die Verdichtung für Daten zu aktivieren, die bei Lake Formation registriert sind. 

  Wenn der Optimierungsrolle keine `IAM_ALLOWED_PRINCIPALS`-Gruppenberechtigungen für die Tabelle erteilt wurden, benötigt die Rolle die Lake-Formation-Berechtigungen `ALTER`, `DESCRIBE`, `INSERT` und `DELETE` für die Tabelle. 

  Weitere Informationen zur Registrierung eines Amazon-S3-Buckets bei Lake Formation finden Sie unter [Hinzufügen eines Amazon-S3-Speicherorts zu Ihrem Data Lake](https://docs.aws.amazon.com/lake-formation/latest/dg/register-data-lake.html).

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Action": [
          "lakeformation:GetDataAccess"
        ],
        "Resource": "*"
      },
      {
        "Effect": "Allow",
        "Action": [
          "glue:UpdateTable",
          "glue:GetTable"
        ],
        "Resource": [
          "arn:aws:glue:us-east-1:111122223333:table/databaseName/tableName",
          "arn:aws:glue:us-east-1:111122223333:database/databaseName",
          "arn:aws:glue:us-east-1:111122223333:catalog"
        ]
      },
      {
        "Effect": "Allow",
        "Action": [
          "logs:CreateLogGroup",
          "logs:CreateLogStream",
          "logs:PutLogEvents"
        ],
        "Resource": [
          "arn:aws:logs:us-east-1:111122223333:log-group:/aws-glue/iceberg-compaction/logs:*",
          "arn:aws:logs:us-east-1:111122223333:log-group:/aws-glue/iceberg-retention/logs:*",
          "arn:aws:logs:us-east-1:111122223333:log-group:/aws-glue/iceberg-orphan-file-deletion/logs:*"
        ]
      }
    ]
  }
  ```

------
+ (Optional) Um Iceberg-Tabellen mit Daten in Amazon-S3-Buckets zu optimieren, die mit [serverseitiger Verschlüsselung](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html) verschlüsselt wurden, benötigt die Verdichtungsrolle Berechtigungen zum Entschlüsseln von Amazon-S3-Objekten und Generieren eines neuen Datenschlüssels, um Objekte in die verschlüsselten Buckets zu schreiben. Fügen Sie dem gewünschten AWS KMS Schlüssel die folgende Richtlinie hinzu. Wir unterstützen nur Verschlüsselung auf Bucket-Ebene.

  ```
  {
      "Effect": "Allow",
      "Principal": {
          "AWS": "arn:aws:iam::<aws-account-id>:role/<optimizer-role-name>"
      },
      "Action": [
          "kms:Decrypt",
          "kms:GenerateDataKey"
      ],
      "Resource": "*"
  }
  ```
+  (Optional) Für den bei Lake Formation registrierten Datenspeicherort benötigt die Rolle, die zur Registrierung des Speicherorts verwendet wird, Berechtigungen zum Entschlüsseln von Amazon-S3-Objekten und Generieren eines neuen Datenschlüssels, um Objekte in die verschlüsselten Buckets zu schreiben. Weitere Informationen finden Sie unter [Registrieren eines verschlüsselten Amazon-S3-Speicherorts](https://docs.aws.amazon.com/lake-formation/latest/dg/register-encrypted.html). 
+ (Optional) Wenn der AWS KMS Schlüssel in einem anderen AWS Konto gespeichert ist, müssen Sie der Verdichtungsrolle die folgenden Berechtigungen hinzufügen.

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Action": [
          "kms:Decrypt",
          "kms:GenerateDataKey"
        ],
        "Resource": [
          "arn:aws:kms:us-east-1:111122223333:key/key-id"
        ]
      }
    ]
  }
  ```

------
+  Die Rolle, die Sie zum Ausführen der Verdichtung verwenden, muss die `iam:PassRole`-Berechtigung für die Rolle haben. 

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Action": [
          "iam:PassRole"
        ],
        "Resource": [
          "arn:aws:iam::111122223333:role/<optimizer-role-name>"
        ]
      }
    ]
  }
  ```

------
+ Fügen Sie der Rolle die folgende Vertrauensrichtlinie hinzu, damit der AWS Glue Dienst die IAM-Rolle zur Ausführung des Verdichtungsprozesses übernimmt.

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Sid": "",
        "Effect": "Allow",
        "Principal": {
          "Service": "glue.amazonaws.com"
        },
        "Action": "sts:AssumeRole"
      }
    ]
  }
  ```

------
+ <a name="catalog-optimizer-requirement"></a> (Optional) Um die Datenkatalogeinstellungen zu aktualisieren und Tabellenoptimierungen auf Katalogebene zu ermöglichen, muss die verwendete IAM-Rolle über die `glue:UpdateCatalog` entsprechende Berechtigung oder AWS Lake Formation `ALTER CATALOG` Berechtigung für den Stammkatalog verfügen. Sie können die `GetCatalog`-API verwenden, um die Katalogeigenschaften zu überprüfen. 

# Tabellenoptimierer auf Katalogebene
<a name="catalog-level-optimizers"></a>

Mit einer einmaligen Katalogkonfiguration können Sie automatische Optimierungsprogramme wie Verdichtung, Aufbewahrung von Snapshots und Löschen verwaister Dateien für alle neuen und aktualisierten Apache-Iceberg-Tabellen im AWS Glue Data Catalog einrichten. Mit Optimiererkonfigurationen auf Katalogebene können Sie einheitliche Optimierereinstellungen auf alle Tabellen innerhalb eines Katalogs anwenden, sodass Sie die Optimierer nicht mehr für jede Tabelle einzeln konfigurieren müssen.

Data–Lake-Administratoren können die Tabellenoptimierer konfigurieren, indem sie den Standardkatalog in der Lake-Formation-Konsole auswählen und die Optimierer über die Option `Table optimization` aktivieren. Wenn Sie neue Tabellen erstellen oder bestehende Tabellen im Datenkatalog aktualisieren, führt der Datenkatalog automatisch die Tabellenoptimierungen aus, um den Betriebsaufwand zu verringern.

Wenn Sie die Optimierung auf Tabellenebene konfiguriert haben oder wenn Sie zuvor die Tabellenoptimierungseinstellungen für eine Tabelle gelöscht haben, haben diese tabellenspezifischen Einstellungen Vorrang vor den Standardkatalogeinstellungen für die Tabellenoptimierung. Ist ein Konfigurationsparameter weder auf Tabellen- noch auf Katalogebene definiert, wird der Wert der Iceberg-Tabelleneigenschaft angewendet. Diese Einstellung gilt für die Optimierer für die Aufbewahrung von Snapshots und die Löschung verwaister Dateien.

Beachten Sie bei der Aktivierung von Optimierern auf Katalogebene Folgendes:
+ Wenn Sie bei der Erstellung des Katalogs Optimierungseinstellungen konfigurieren und anschließend die Optimierungen über eine Anforderung zum Aktualisieren des Katalogs deaktivieren, wird der Vorgang auf alle Tabellen innerhalb des Katalogs angewendet.
+ Wenn Sie bereits Optimierer für eine bestimmte Tabelle konfiguriert haben, hat die Deaktivierung auf Katalogebene keine Auswirkungen auf diese Tabelle.
+ Wenn Sie Optimierer auf Katalogebene deaktivieren, behalten Tabellen mit bestehenden Optimiererkonfigurationen ihre spezifischen Einstellungen bei und bleiben von der Änderung auf Katalogebene unberührt. Tabellen ohne eigene Optimierungskonfigurationen übernehmen jedoch den deaktivierten Status aus der Katalogebene.
+ Da die Optimierer für die Aufbewahrung von Snapshots und das Löschen verwaister Dateien zeitplanbasiert sein können, führen Aktualisierungen zu einer zufälligen Verzögerung beim Start ihres Zeitplans. Dadurch starten die einzelnen Optimierer zu leicht unterschiedlichen Zeitpunkten, wodurch die Last verteilt und die Wahrscheinlichkeit einer Überschreitung der Servicegrenzen verringert wird.
+ Optimizer-Einstellungen auf Katalogebene werden nicht automatisch von Tabellen vererbt, wenn die AWS Glue Data Catalog Verschlüsselung aktiviert ist. Wenn in Ihrem Katalog die Metadatenverschlüsselung aktiviert ist, müssen Sie die Tabellenoptimierer für jede Tabelle einzeln konfigurieren. Um die Vererbung von Optimierern auf Katalogebene verwenden zu können, muss die Metadatenverschlüsselung im Katalog deaktiviert sein.

**Topics**
+ [Aktivieren der automatischen Tabellenoptimierung auf Katalogebene](enable-auto-table-optimizers.md)
+ [Anzeigen von Optimierungen auf Katalogebene](view-catalog-optimizations.md)
+ [Deaktivieren der Tabellenoptimierung auf Katalogebene](disable-auto-table-optimizers.md)

# Aktivieren der automatischen Tabellenoptimierung auf Katalogebene
<a name="enable-auto-table-optimizers"></a>

 Sie können die automatische Tabellenoptimierung für alle neuen Apache-Iceberg-Tabellen im Datenkatalog aktivieren. Nachdem Sie die Tabelle erstellt haben, können Sie die Einstellungen für die Tabellenoptimierung auch explizit manuell aktualisieren. 

 Um die Datenkatalog-Einstellungen zu aktualisieren und Tabellenoptimierungen auf Katalogebene zu ermöglichen, muss die verwendete IAM-Rolle über die `glue:UpdateCatalog`-Berechtigung für den Stammkatalog verfügen. Sie können die `GetCatalog`-API verwenden, um die Katalogeigenschaften zu überprüfen. 

 Für die von Lake Formation verwalteten Tabellen erfordert die während der Katalogoptimierungskonfiguration ausgewählte IAM-Rolle die Lake-Formation-Berechtigungen `ALTER`, `DESCRIBE`, `INSERT` und `DELETE` für alle neuen oder aktualisierten Tabellen. 

## So aktivieren Sie Optimierer auf Katalogebene (Konsole)
<a name="enable-catalog-optimizers-console"></a>

1. Öffnen Sie die Lake Formation Formation-Konsole unter [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. Wählen Sie im Navigationsbereich die Option **Datenkatalog**.

1. Wählen Sie die Registerkarte **Kataloge** aus.

1. Wählen Sie den Katalog auf Kontoebene.

1. Wählen Sie auf der Registerkarte **Tabellenoptimierungen** unter **Tabellenoptimierungen** die Option **Bearbeiten** aus. Sie können auch unter **Aktionen** die Option **Optimierungen bearbeiten** auswählen.  
![\[Der Screenshot zeigt die Bearbeitungsoption, mit der Optimierungen auf Katalogebene aktiviert werden können.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/catalog-edit-optimizations.png)

1. Konfigurieren Sie auf der Seite **AWS-Optionen** Folgendes:  
![\[Der Screenshot zeigt die Optimierungsoptionen auf Katalogebene.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/catalog-optimization-options.png)

   1. Konfigurieren Sie die Einstellungen für die **Komprimierung**:
      + Aktivieren oder deaktivieren Sie die Komprimierung.
      + Wählen Sie die IAM-Rolle aus, die über die erforderlichen Berechtigungen zum Ausführen der Optimierer verfügt.

        Weitere Informationen zu den Berechtigungsanforderungen für die IAM-Rolle finden Sie unter [Voraussetzungen für die Tabellenoptimierung](optimization-prerequisites.md).

   1. Konfigurieren Sie die Einstellungen für die **Aufbewahrung von Snapshots**:
      + Aktivieren oder deaktivieren Sie die Aufbewahrung.
      + Legen Sie die Snapshot-Aufbewahrungsdauer in Tagen fest. Die Standardeinstellung ist 5 Tage.
      + Legen Sie die Anzahl der Snapshots fest, die beibehalten werden sollen. Die Standardeinstellung ist 1 Snapshot.
      + Aktivieren oder deaktivieren Sie das Löschen abgelaufener Dateien.

   1. Konfigurieren Sie die Einstellungen für das **Löschen verwaister Dateien**:
      + Aktivieren oder deaktivieren Sie das Löschen verwaister Dateien.
      + Legen Sie die Aufbewahrungsdauer verwaister Dateien in Tagen fest. Die Standardeinstellung ist 3 Tage.

1. Wählen Sie **Speichern**.

## Aktivierung von Optimierern auf Katalogebene über AWS CLI
<a name="catalog-auto-optimizers-cli"></a>

Verwenden Sie den folgenden CLI-Befehl, um einen vorhandenen Katalog mit Optimierer-Einstellungen zu aktualisieren:

**Example Katalog mit Optimierer-Einstellungen aktualisieren**  

```
aws glue update-catalog \
   --name catalog-id \
  --catalog-input \
  '{
    "CatalogId": "111122223333",
    "CatalogInput": {
        "CatalogProperties": {
            "CustomProperties": {
                "ColumnStatistics.Enabled": "false",
                "ColumnStatistics.RoleArn": "arn:aws:iam::111122223333:role/service-role/stats-role-name"
            },
            "IcebergOptimizationProperties": {
                "RoleArn": "arn:aws:iam::111122223333:role/optimizer-role-name",
                "Compaction": {
                    "enabled": "true"
                },
                "Retention": {
                    "enabled": "true",
                    "snapshotRetentionPeriodInDays": "10",
                    "numberOfSnapshotsToRetain": "5",
                    "cleanExpiredFiles": "true"
                },
                "OrphanFileDeletion": {
                    "enabled": "true",
                    "orphanFileRetentionPeriodInDays": "3"
                }
            }
        }
    }
}'
```

Wenn Sie Probleme mit Optimierern auf Katalogebene haben, überprüfen Sie Folgendes:
+ Stellen Sie sicher, dass die IAM-Rolle über die richtigen Berechtigungen verfügt, wie im Abschnitt „Voraussetzungen“ beschrieben.
+ Suchen Sie in den CloudWatch Protokollen nach Fehlermeldungen im Zusammenhang mit Optimizer-Vorgängen.

   Weitere Informationen finden Sie unter [Anzeigen der verfügbaren Metriken](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/viewing_metrics_with_cloudwatch.html) im *Benutzerhandbuch für Amazon CloudWatch *. 
+ Stellen Sie sicher, dass die Katalogeinstellungen erfolgreich angewendet wurden, indem Sie die Katalogkonfiguration überprüfen.
+ Bei Tabellenzugriffsfehlern finden Sie in den CloudWatch Protokollen und EventBridge Benachrichtigungen detaillierte Fehlerinformationen.

# Anzeigen von Optimierungen auf Katalogebene
<a name="view-catalog-optimizations"></a>

 Wenn die Tabellenoptimierung auf Katalogebene aktiviert ist, wird jedes Mal, wenn eine Apache Iceberg-Tabelle über das `CreateTable` oder `UpdateTable` APIs über AWS-Managementkonsole das SDK oder aktualisiert wird AWS-Glue-Crawler, eine entsprechende Einstellung auf Tabellenebene für diese Tabelle erstellt. 

 Nachdem Sie eine Tabelle erstellt oder aktualisiert haben, können Sie die Tabellendetails überprüfen, um die Tabellenoptimierung zu bestätigen. Die `Table optimization` zeigt die `Configuration source`-Eigenschaft an, die als `Catalog` festgelegt ist. 

![\[Ein Bild einer Apache-Iceberg-Tabelle mit Optimierungskonfiguration auf Katalogebene hat wurde angewendet.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/catalog-optimization-enabled.png)


# Deaktivieren der Tabellenoptimierung auf Katalogebene
<a name="disable-auto-table-optimizers"></a>

 Sie können die Tabellenoptimierung für neue Tabellen mithilfe der AWS Lake Formation Konsole, der `glue:UpdateCatalog` API, deaktivieren. 

**Deaktivieren der Tabellenoptimierungen auf Katalogebene**

1. Öffnen Sie die Lake Formation Formation-Konsole unter [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. Wählen Sie in der linken Navigationsleiste die Option **Kataloge** aus.

1. Wählen Sie auf der Seite mit der **Katalogübersicht** unter **Tabellenoptimierungen** die Option **Bearbeiten** aus.

1. Deaktivieren Sie auf der Seite **Optimierung bearbeiten** die **Optimierungsoptionen**.

1. Wählen Sie **Speichern**.

# Optimierung der Verdichtung
<a name="compaction-management"></a>

 Die Amazon-S3-Data-Lakes, die offene Tabellenformate wie Apache Iceberg verwenden, speichern Daten als S3-Objekte. Tausende kleiner Amazon S3 S3-Objekte in einer Data-Lake-Tabelle erhöhen den Metadaten-Overhead und beeinträchtigen die Leseleistung. AWS Glue Data Catalog bietet verwaltete Komprimierung für Iceberg-Tabellen und komprimiert kleine Objekte zu größeren, um eine bessere Leseleistung durch AWS Analysedienste wie Amazon EMR Amazon Athena und ETL-Jobs zu erzielen. AWS Glue Der Datenkatalog führt die Verdichtung durch, ohne gleichzeitige Abfragen zu stören, und unterstützt die Verdichtung nur für Tabellen im Parquet-Format. 

Der Tabellenoptimierer überwacht laufend Tabellenpartitionen und startet den Verdichtungsprozess, wenn der Schwellenwert für die Anzahl und Größe von Dateien überschritten wird.

Im Datenkatalog beginnt der Verdichtungsprozess, wenn eine Tabelle oder eine ihrer Partitionen mehr als 100 Dateien enthält. Jede Datei muss kleiner als 75 % der Zieldateigröße sein. Die Zieldateigröße wird durch die Tabelleneigenschaft `write.target-file-size-bytes` bestimmt, die standardmäßig 512 MB beträgt, sofern sie nicht explizit festgelegt ist.

 Einschränkungen finden Sie unter [Unterstützte Formate und Einschränkungen für die verwaltete Datenverdichtung](optimizer-notes.md#compaction-notes). 

**Topics**
+ [Aktivieren des Verdichtungsoptimierers](enable-compaction.md)
+ [Deaktivieren des Verdichtungsoptimierers](disable-compaction.md)

# Aktivieren des Verdichtungsoptimierers
<a name="enable-compaction"></a>

 Sie können die AWS Glue Konsole oder AWS API verwenden AWS CLI, um die Komprimierung für Ihre Apache Iceberg-Tabellen im AWS Glue Datenkatalog zu aktivieren. Für neue Tabellen können Sie Apache Iceberg als Tabellenformat auswählen und die Verdichtung beim Erstellen der Tabellen aktivieren. Für neue Tabellen ist die Verdichtung standardmäßig deaktiviert.

------
#### [ Console ]

**Aktivieren der Verdichtung**

1.  Öffnen Sie die AWS Glue Konsole unter [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)und melden Sie sich als Data Lake-Administrator, als Tabellenersteller oder als Benutzer an, dem die `lakeformation:GetDataAccess` Berechtigungen `glue:UpdateTable` und für die Tabelle erteilt wurden. 

1. Wählen Sie im Navigationsbereich unter **Datenkatalog** die Option **Tabellen** aus.

1. Wählen Sie auf der Seite **Tabellen** eine Tabelle im offenen Tabellenformat aus, für die Sie die Verdichtung aktivieren möchten, und wählen Sie dann im Menü **Aktionen** die Option **Optimierung** und dann **Aktivieren** aus.

   Sie können die Verdichtung auch aktivieren, indem Sie die Registerkarte **Tabellenoptimierung** auf der Seite mit den **Tabellendetails** auswählen. Wählen Sie im unteren Bereich der Seite die Registerkarte **Tabellenoptimierung** und dann **Verdichtung aktivieren** aus. 

   Die Option **Optimierung aktivieren** ist auch verfügbar, wenn Sie eine neue Iceberg-Tabelle im Datenkatalog erstellen.

1. Wählen Sie auf der Seite **Optimierung aktivieren** unter **Optimierungsoptionen** die Option **Verdichtung** aus.  
![\[Detailseite der Apache-Iceberg-Tabelle mit der Option „Verdichtung aktivieren“.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/table-enable-compaction.png)

1. Wählen Sie als Nächstes eine IAM-Rolle aus der Drop-down-Liste mit den Berechtigungen im Abschnitt [Voraussetzungen für die Tabellenoptimierung](optimization-prerequisites.md) aus. 

   Sie können auch die Option **Neue IAM-Rolle erstellen** auswählen, um eine benutzerdefinierte Rolle mit den erforderlichen Berechtigungen zum Ausführen der Verdichtung zu erstellen.

    Gehen Sie wie folgt vor, um eine vorhandene IAM-Rolle zu aktualisieren: 

   1.  Um die Berechtigungsrichtlinie für die IAM-Rolle zu aktualisieren, wechseln Sie in der IAM-Konsole zu der IAM-Rolle, die zum Ausführen der Verdichtung verwendet wird. 

   1.  Wählen Sie im Abschnitt **Berechtigungen** hinzufügen die Option „Richtlinie erstellen“ aus. Erstellen Sie im neu geöffneten Browserfenster eine neue Richtlinie, die Sie mit Ihrer Rolle verwenden möchten. 

   1. Wählen Sie auf der Seite „Richtlinie erstellen“ die Registerkarte `JSON` aus. Kopieren Sie den JSON-Code aus den Voraussetzungen in das Feld im Richtlinieneditor.

1. Wenn Sie Sicherheitsrichtlinien-Konfigurationen haben, bei denen der Iceberg-Tabellenoptimierer von einer bestimmten Virtual Private Cloud (VPC) aus auf Amazon S3 S3-Buckets zugreifen muss, stellen Sie eine AWS Glue Netzwerkverbindung her oder verwenden Sie eine bestehende.

   Wenn Sie noch keine AWS Glue VPC-Verbindung eingerichtet haben, erstellen Sie eine neue, indem Sie mit der AWS Glue Konsole oder dem /SDK die Schritte im Abschnitt [Verbindungen für Konnektoren erstellen](https://docs.aws.amazon.com/glue/latest/dg/creating-connections.html) ausführen. AWS CLI

1. Wählen Sie eine Verdichtungsstrategie. Die verfügbaren Optionen sind:
   + **Binpack**: Binpack ist die Standard-Verdichtungsstrategie in Apache Iceberg. Sie kombiniert kleinere Datendateien zu größeren, um eine optimale Leistung zu erzielen.
   + **Sortieren**: Bei der Sortierung in Apache Iceberg handelt es sich um eine Datenorganisationstechnik, bei der Informationen innerhalb von Dateien auf der Grundlage bestimmter Spalten gruppiert werden. Dadurch wird die Abfrageleistung erheblich verbessert, da die Anzahl der zu verarbeitenden Dateien reduziert wird. Sie legen die Sortierreihenfolge in den Metadaten von Iceberg mithilfe des Felds „Sortierreihenfolge“ fest. Wenn mehrere Spalten angegeben sind, werden die Daten in der Reihenfolge sortiert, in der die Spalten in der Sortierreihenfolge erscheinen, sodass Datensätze mit ähnlichen Werten innerhalb der Dateien zusammen gespeichert werden. Die Sortier- und Verdichtungsstrategie optimiert den Prozess weiter, indem sie Daten über alle Dateien innerhalb einer Partition hinweg sortiert. 
   + **Z-Reihenfolge**: Die Z-Reihenfolge ist eine Methode zum Organisieren von Daten, wenn Sie diese nach mehreren Spalten mit gleicher Wichtigkeit sortieren müssen. Im Gegensatz zur herkömmlichen Sortierung, bei der eine Spalte gegenüber anderen priorisiert wird, gewichtet die Z-Sortierung jede Spalte gleichmäßig, sodass Ihre Suchmaschine bei der Datensuche weniger Dateien lesen muss.

     Bei dieser Technik werden die Binärziffern der Werte aus verschiedenen Spalten miteinander verwoben. Wenn Sie beispielsweise die Zahlen 3 und 4 aus zwei Spalten haben, werden diese bei der Z-Reihenfolge zunächst in Binärzahlen umgewandelt (3 wird zu 011 und 4 zu 100) und dann miteinander verschachtelt, um einen neuen Wert zu bilden: 011010. Durch diese Verschachtelung entsteht ein Muster, bei dem verwandte Daten physisch nahe beieinander bleiben.

     Die Z-Reihenfolge ist besonders effektiv für mehrdimensionale Abfragen. Beispielsweise kann die Z-Reihenfolge bei einer Kundentabelle, die nach Einkommen, Bundesstaat und Postleitzahl sortiert ist, bei Abfragen über mehrere Dimensionen hinweg eine überlegene Leistung im Vergleich zur hierarchischen Sortierung bieten. Diese Organisation ermöglicht Abfragen, die auf bestimmte Kombinationen aus Einkommen und geografischem Standort abzielen, um relevante Daten schnell zu finden und gleichzeitig unnötige Dateiscans zu minimieren.

1. **Mindestanzahl an Eingabedateien**: Die Anzahl der Datendateien, die in einer Partition vorhanden sein müssen, bevor die Verdichtung ausgelöst wird.

1. **Schwellenwert für das Löschen von Dateien**: Mindestanzahl an Löschvorgängen, die in einer Datendatei erforderlich sind, bevor sie für die Verdichtung infrage kommt.

1. Wählen Sie **Optimierung aktivieren** aus.

------
#### [ AWS CLI ]

 Im folgenden Beispiel wird gezeigt, wie Sie die Verdichtung aktivieren. Ersetzen Sie die Konto-ID durch eine gültige AWS Konto-ID. Ersetzen Sie den Datenbanknamen und den Tabellennamen durch die tatsächlichen Tabellen- und Datenbanknamen in Iceberg. Ersetzen Sie den `roleArn` durch den AWS -Ressourcennamen (ARN) der IAM-Rolle und den Namen der IAM-Rolle, die über die erforderlichen Berechtigungen zum Ausführen der Verdichtung verfügt. Sie können die Verdichtungsstrategie `sort` durch andere unterstützte Strategien wie `z-order` oder `binpack` ersetzen.

Reihenfolge“ je nach Ihren Anforderungen.

```
aws glue create-table-optimizer \
  --catalog-id 123456789012 \
  --database-name iceberg_db \
  --table-name iceberg_table \
  --table-optimizer-configuration '{
    "roleArn": "arn:aws:iam::123456789012:role/optimizer_role",
    "enabled": true,
    "vpcConfiguration": {"glueConnectionName": "glue_connection_name"},
    "compactionConfiguration": {
      "icebergConfiguration": {"strategy": "sort"}
    }
  }'\
--type compaction
```

------
#### [ AWS API ]

Rufen Sie die Operation [CreateTableOptimizer](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-table-optimizers.html#aws-glue-api-table-optimizers-CreateTableOptimizer) auf, um die Verdichtung für eine Tabelle zu aktivieren.

------

Nachdem Sie die Verdichtung aktiviert haben, werden auf der Registerkarte **Tabellenoptimierung** die folgenden Verdichtungsdetails angezeigt, sobald der Verdichtungsprozess abgeschlossen wurde:

Startzeit  
Die Zeit, zu der der Verdichtungsprozess innerhalb von Data Catalog gestartet wurde. Der Wert ist ein Zeitstempel in UTC-Zeit. 

Endzeit  
Die Zeit, zu der der Verdichtungsprozess innerhalb von Data Catalog beendet wurde. Der Wert ist ein Zeitstempel in UTC-Zeit. 

Status  
Der Status der Verdichtungsausführung. Die Werte sind „Erfolgreich“ oder „Fehlgeschlagen“.

Verdichtete Dateien  
Anzahl der verdichteten Dateien.

Verdichtete Bytes  
Anzahl der verdichteten Bytes.

# Deaktivieren des Verdichtungsoptimierers
<a name="disable-compaction"></a>

 Sie können die automatische Komprimierung für eine bestimmte Apache Iceberg-Tabelle mithilfe der AWS Glue Konsole oder deaktivieren. AWS CLI

------
#### [ Console ]

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die AWS Glue Konsole unter. [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)

1. Wählen Sie im linken Navigationsbereich unter **Datenkatalog** die Option **Tabellen** aus. 

1. In der Liste der Tabellen wählen Sie die Iceberg-Tabelle aus, für die Sie die Verdichtung deaktivieren möchten.

1. Wählen Sie im unteren Bereich der **Tabellendetailseite** die Registerkarte **Tabellenoptimierung** aus.

1. Wählen Sie unter **Aktionen** die Option **Deaktivieren** und anschließend **Verdichtung** aus.

1.  Klicken Sie in der Bestätigungsmeldung auf **Verdichtung deaktivieren**. Sie können die Verdichtung später wieder aktivieren. 

    Nachdem Sie die Deaktivierung bestätigt haben, wird die Verdichtung deaktiviert und der Verdichtungsstatus für die Tabelle wird wieder auf `Disabled` gesetzt.

------
#### [ AWS CLI ]

Ersetzen Sie im folgenden Beispiel die Konto-ID durch eine gültige AWS Konto-ID. Ersetzen Sie den Datenbanknamen und den Tabellennamen durch die tatsächlichen Tabellen- und Datenbanknamen in Iceberg. Ersetzen Sie das `roleArn` durch den AWS Ressourcennamen (ARN) der IAM-Rolle und den tatsächlichen Namen der IAM-Rolle, die über die erforderlichen Berechtigungen zum Ausführen der Komprimierung verfügt.

```
aws glue update-table-optimizer \
  --catalog-id 123456789012 \
  --database-name iceberg_db \
  --table-name iceberg_table \
  --table-optimizer-configuration '{"roleArn":"arn:aws:iam::123456789012:role/optimizer_role", "enabled":'false', "vpcConfiguration":{"glueConnectionName":"glue_connection_name"}}'\ 
  --type compaction
```

------
#### [ AWS API ]

Rufen Sie die Operation [UpdateTableOptimizer](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-table-optimizers.html#aws-glue-api-table-optimizers-UpdateTableOptimizer) auf, um die Verdichtung für eine bestimmte Tabelle zu deaktivieren.

------

# Optimierung der Snapshot-Aufbewahrung
<a name="snapshot-retention-management"></a>

Mit der Snapshot-Aufbewahrungsfunktion von Apache Iceberg können Benutzer Verlaufsdaten zu bestimmten Zeitpunkten abfragen und unerwünschte Änderungen an ihren Tabellen rückgängig machen. Im AWS Glue Datenkatalog steuert die Konfiguration der Snapshot-Aufbewahrung, wie lange diese Snapshots (Versionen der Tabellendaten) aufbewahrt werden, bevor sie ablaufen und entfernt werden. Dies hilft beim Reduzieren der Speicherkosten und Verwalten der Metadaten-Overheads, indem ältere Snapshots auf der Grundlage einer konfigurierten Aufbewahrungszeit oder der maximalen Anzahl von aufzubewahrenden Snapshots automatisch entfernt werden. 

Sie können den Aufbewahrungszeitraum in Tagen und die maximale Anzahl von Snapshots, die für eine Tabelle aufbewahrt werden sollen, konfigurieren. AWS Glue entfernt Snapshots, die älter als der angegebene Aufbewahrungszeitraum sind, aus den Tabellenmetadaten, wobei die neuesten Snapshots bis zum konfigurierten Limit beibehalten werden. AWS Glue Löscht nach dem Entfernen alter Snapshots aus den Metadaten die entsprechenden Daten und Metadatendateien, auf die nicht mehr verwiesen wird und die für die abgelaufenen Snapshots eindeutig sind. So können Zeitreiseabfragen nur bis zu den verbleibenden gespeicherten Snapshots abgerufen werden, während gleichzeitig Speicherplatz zurückgewonnen wird, der für abgelaufene Snapshot-Daten verwendet wurde.

**Topics**
+ [Aktivieren des Snapshot-Aufbewahrungsoptimierers](enable-snapshot-retention.md)
+ [Aktualisieren des Snapshot-Aufbewahrungsoptimierers](update-snapshot-retention.md)
+ [Deaktivieren des Snapshot-Aufbewahrungsoptimierers](disable-snapshot-retention.md)

# Aktivieren des Snapshot-Aufbewahrungsoptimierers
<a name="enable-snapshot-retention"></a>

 Sie können die AWS Glue Konsole oder die AWS API verwenden AWS CLI, um Optimizer für die Aufbewahrung von Snapshots für Ihre Apache Iceberg-Tabellen im Datenkatalog zu aktivieren. Für neue Tabellen können Sie Apache Iceberg als Tabellenformat auswählen und den Snapshot-Aufbewahrungsoptimierer beim Erstellen der Tabellen aktivieren. Für neue Tabellen ist die Snapshot-Aufbewahrung standardmäßig deaktiviert.

------
#### [ Console ]

**So aktivieren Sie den Snapshot-Aufbewahrungsoptimierer**

1.  Öffnen Sie die AWS Glue Konsole unter [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)und melden Sie sich als Data Lake-Administrator, als Tabellenersteller oder als Benutzer an, dem die `lakeformation:GetDataAccess` Berechtigungen `glue:UpdateTable` und für die Tabelle erteilt wurden. 

1. Wählen Sie im Navigationsbereich unter **Datenkatalog** die Option **Tabellen** aus.

1. **Wählen Sie auf der Seite **Tabellen** eine Iceberg-Tabelle aus, für die Sie den Snapshot-Aufbewahrungsoptimierer aktivieren möchten, und wählen Sie dann im Menü **Aktionen** unter Optimierung** die Option **Aktivieren** aus.

   Sie können die Optimierung auch aktivieren, indem Sie die Tabelle auswählen und die Seite mit den **Tabellendetails** öffnen. Wählen Sie im unteren Bereich der Seite die Registerkarte **Tabellenoptimierung** und dann **Snapshot-Aufbewahrung aktivieren** aus. 

1. Auf der Seite **Optimierung aktivieren** haben Sie unter **Optimierungskonfiguration** zwei Optionen: **Standardeinstellungen verwenden** oder **Einstellungen anpassen**. Wenn Sie sich für die Verwendung der Standardeinstellungen entscheiden, AWS Glue verwendet die in der Iceberg-Tabellenkonfiguration definierten Eigenschaften, um den Aufbewahrungszeitraum für Snapshots und die Anzahl der beizubehaltenden Snapshots zu bestimmen. Wenn diese Konfiguration nicht vorhanden ist, wird ein Snapshot fünf Tage lang AWS Glue aufbewahrt und die mit den abgelaufenen Snapshots verknüpften Dateien gelöscht.

1.  Wählen Sie als Nächstes eine IAM-Rolle aus, die in Ihrem Namen die Ausführung des Optimierers übernehmen AWS Glue kann. Einzelheiten zu den für die IAM-Rolle erforderlichen Berechtigungen finden Sie im Abschnitt [Voraussetzungen für die Tabellenoptimierung](optimization-prerequisites.md).

   Gehen Sie wie folgt vor, um eine vorhandene IAM-Rolle zu aktualisieren: 

   1.  Um die Berechtigungsrichtlinie für die IAM-Rolle zu aktualisieren, wechseln Sie in der IAM-Konsole zu der IAM-Rolle, die zum Ausführen der Verdichtung verwendet wird. 

   1.  Wählen Sie im Abschnitt Berechtigungen hinzufügen die Option „Richtlinie erstellen“ aus. Erstellen Sie im neu geöffneten Browserfenster eine neue Richtlinie, die Sie mit Ihrer Rolle verwenden möchten. 

   1. Wählen Sie auf der Seite Richtlinie erstellen die Registerkarte JSON aus. Kopieren Sie den JSON-Code aus den Voraussetzungen in das Feld im Richtlinieneditor.

1. Wenn Sie die Werte für die **Konfiguration der Snapshot-Aufbewahrung** lieber manuell festlegen möchten, wählen Sie **Einstellungen anpassen** aus.   
![\[Seite mit den Apache-Iceberg-Tabellendetails mit der Option „Aufbewahrung aktivieren“ > „Einstellungen anpassen“.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/table-enable-retention.png)

1. Aktivieren Sie das Kästchen **Ausgewählte IAM-Rolle auf die ausgewählten Optimierer anwenden**, um eine einzige IAM-Rolle für alle zu verwenden und alle Optimierer zu aktivieren.

1. Wenn Sie Sicherheitsrichtlinien-Konfigurationen haben, bei denen der Iceberg-Tabellenoptimierer von einer bestimmten Virtual Private Cloud (VPC) aus auf Amazon S3 S3-Buckets zugreifen muss, stellen Sie eine AWS Glue Netzwerkverbindung her oder verwenden Sie eine bestehende.

   Wenn Sie noch keine AWS Glue VPC-Verbindung eingerichtet haben, erstellen Sie eine neue, indem Sie die Schritte im Abschnitt [Verbindungen für Konnektoren erstellen](https://docs.aws.amazon.com/glue/latest/dg/creating-connections.html) mithilfe der AWS Glue Konsole oder des AWS CLI/SDKs ausführen.

1. Wählen Sie als Nächstes unter **Snapshot-Aufbewahrungskonfiguration** entweder die in der [Iceberg-Tabellenkonfiguration](https://iceberg.apache.org/docs/1.5.2/configuration/#table-behavior-properties) angegebenen Werte aus, oder geben Sie benutzerdefinierte Werte für die Aufbewahrungsdauer von Snapshots an (history.expire). max-snapshot-age-ms), Mindestanzahl von Snapshots (history.expire. min-snapshots-to-keep), die aufbewahrt werden sollen, und die Zeit in Stunden zwischen aufeinanderfolgenden Snapshot-Löschaufträgen.

1.  Wählen Sie **Zugehörige Dateien löschen** aus, um die zugrunde liegenden Dateien zu löschen, wenn der Tabellenoptimierer alte Snapshots aus den Tabellenmetadaten löscht.

    Wenn Sie diese Option nicht auswählen und ältere Snapshots aus den Tabellenmetadaten entfernt werden, verbleiben die zugehörigen Dateien als verwaiste Dateien im Speicher. 

1. Lesen Sie als Nächstes den Warnhinweis und wählen Sie **Ich bestätige** aus, um fortzufahren.
**Anmerkung**  
 Im Datenkatalog berücksichtigt der Snapshot-Aufbewahrungsoptimierer den Lebenszyklus, der durch Aufbewahrungsrichtlinien auf Branchen- und Tag-Ebene gesteuert wird. Weitere Informationen dazu finden Sie im Abschnitt [Verzweigungen und Tagging](https://iceberg.apache.org/docs/latest/branching/#overview) in der Iceberg-Dokumentation.

1. Überprüfen Sie die Konfiguration und wählen Sie **Optimierung aktivieren** aus.

   Warten Sie einige Minuten, bis der Aufbewahrungsoptimierer ausgeführt wird und alte Snapshots, die auf der Konfiguration basieren, ablaufen.

------
#### [ AWS CLI ]

 Um die Aufbewahrung von Snapshots für neue Iceberg-Tabellen in zu aktivieren AWS Glue, müssen Sie einen Tabellenoptimierer des Typs erstellen `retention` und das `enabled` Feld auf `true` in setzen. `table-optimizer-configuration` Sie können dies mit dem AWS CLI Befehl `create-table-optimizer` oder tun. `update-table-optimizer` Darüber hinaus müssen Sie die Felder für die Aufbewahrungskonfiguration wie `snapshotRetentionPeriodInDays` und `numberOfSnapshotsToRetain` Ihren Anforderungen entsprechend angeben.

Im folgenden Beispiel wird veranschaulicht, wie der Snapshot-Aufbewahrungsoptimierer aktiviert wird. Ersetzen Sie die Konto-ID durch eine gültige AWS Konto-ID. Ersetzen Sie den Datenbanknamen und den Tabellennamen durch die tatsächlichen Tabellen- und Datenbanknamen in Iceberg. Ersetzen Sie das `roleArn` durch den AWS Ressourcennamen (ARN) der IAM-Rolle und den Namen der IAM-Rolle, die über die erforderlichen Berechtigungen verfügt, um den Snapshot Retention Optimizer auszuführen. 

```
aws glue create-table-optimizer \
  --catalog-id 123456789012 \
  --database-name iceberg_db \
  --table-name iceberg_table \
  --table-optimizer-configuration '{"roleArn":"arn:aws:iam::123456789012:role/optimizer_role","enabled":'true', "vpcConfiguration":{
"glueConnectionName":"glue_connection_name"}, "retentionConfiguration":{"icebergConfiguration":{"snapshotRetentionPeriodInDays":7,"numberOfSnapshotsToRetain":3,"cleanExpiredFiles":'true'}}}'\
  --type retention
```

 Mit diesem Befehl wird ein Aufbewahrungsoptimierer für die angegebene Iceberg-Tabelle im angegebenen Katalog und in der angegebenen Datenbank und Region erstellt. Der table-optimizer-configuration spezifiziert den zu verwendenden ARN der IAM-Rolle, aktiviert den Optimierer und legt die Aufbewahrungskonfiguration fest. In diesem Beispiel werden Snapshots 7 Tage lang aufbewahrt, es werden mindestens 3 Snapshots aufbewahrt und abgelaufene Dateien werden bereinigt. 
+  snapshotRetentionPeriodInDays — Die Anzahl der Tage, für die Snapshots aufbewahrt werden sollen, bevor sie ablaufen. Der Standardwert ist `5`. 
+ numberOfSnapshotsToRetain — Die Mindestanzahl von Snapshots, die aufbewahrt werden müssen, auch wenn sie älter als die Aufbewahrungsfrist sind. Der Standardwert ist `1`. 
+ cleanExpiredFiles — Ein boolescher Wert, der angibt, ob abgelaufene Datendateien nach ablaufenden Snapshots gelöscht werden sollen. Der Standardwert ist `true`.

   Wenn dieser Wert auf „true“ gesetzt ist, werden ältere Snapshots aus den Tabellenmetadaten entfernt, und die ihnen zugrunde liegenden Dateien werden gelöscht. Wenn dieser Parameter auf „false“ gesetzt ist, werden ältere Snapshots aus den Tabellenmetadaten entfernt, aber die ihnen zugrunde liegenden Dateien verbleiben als verwaiste Dateien im Speicher. 

------
#### [ AWS API ]

Rufen Sie [CreateTableOptimizer](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-table-optimizers.html#aws-glue-api-table-optimizers-CreateTableOptimizer)den Vorgang auf, um den Snapshot Retention Optimizer für eine Tabelle zu aktivieren.

------

Nachdem Sie die Verdichtung aktiviert haben, werden auf der Registerkarte **Tabellenoptimierung** die folgenden Verdichtungsdetails angezeigt (nach etwa 15 bis 20 Minuten):

Startzeit  
Die Zeit, zu der der Snapshot-Aufbewahrungsoptimierer gestartet wurde. Der Wert ist ein Zeitstempel in UTC-Zeit. 

Run time (Laufzeit)  
Die Zeit gibt an, wie lange der Optimierer benötigt, um die Aufgabe abzuschließen. Der Wert ist ein Zeitstempel in UTC-Zeit. 

Status  
Der Status der Optimiererausführung. Die Werte sind „Erfolgreich“ oder „Fehlgeschlagen“.

Datendateien gelöscht  
Gesamtzahl der gelöschten Dateien.

Manifestdateien gelöscht  
Gesamtzahl der gelöschten Manifestdateien.

Manifestlisten gelöscht  
Gesamtzahl der gelöschten Manifestlisten.

# Aktualisieren des Snapshot-Aufbewahrungsoptimierers
<a name="update-snapshot-retention"></a>

 Sie können die bestehende Konfiguration eines Snapshot-Aufbewahrungsoptimierers für eine bestimmte Apache Iceberg-Tabelle mithilfe der AWS Glue Konsole oder der AWS CLI UpdateTableOptimizer API aktualisieren. 

------
#### [ Console ]

**So aktualisieren Sie die Konfiguration der Snapshot-Aufbewahrung:**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die AWS Glue Konsole unter. [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)

1. Wählen Sie **Datenkatalog** und dann **Tabellen** aus. In der Liste der Tabellen wählen Sie die Iceberg-Tabelle aus, für die Sie die Konfiguration des Snapshot-Aufbewahrungsoptimierers aktualisieren möchten.

1. Wählen Sie unten auf der Seite **Tabellendetails** die Registerkarte **Tabellenoptimierung** und dann **Bearbeiten** aus. Sie können auch im Menü **Aktionen** oben rechts auf der Seite die Option **Bearbeiten** unter **Optimierung** auswählen.

1.  Nehmen Sie auf der Seite **Optimierung bearbeiten** die gewünschten Änderungen vor. 

1.  Wählen Sie **Speichern**. 

------
#### [ AWS CLI ]

 Um einen Snapshot Retention Optimizer mit dem zu aktualisieren AWS CLI, können Sie den folgenden Befehl verwenden: 

```
aws glue update-table-optimizer \
 --catalog-id 123456789012 \
 --database-name iceberg_db \
 --table-name iceberg_table \
 --table-optimizer-configuration '{"roleArn":"arn:aws:iam::123456789012:role/optimizer_role"","enabled":'true', "vpcConfiguration":{"glueConnectionName":"glue_connection_name"},"retentionConfiguration":{"icebergConfiguration":{"snapshotRetentionPeriodInDays":7,"numberOfSnapshotsToRetain":3,"cleanExpiredFiles":'true'}}}' \
 --type retention
```

 Mit diesem Befehl wird die Aufbewahrungsdokumentation für die angegebene Tabelle im angegebenen Katalog und in der angegebenen Datenbank und Region aktualisiert. Folgende sind die wichtigsten Parameter: 
+  snapshotRetentionPeriodInDays — Die Anzahl der Tage, für die Snapshots aufbewahrt werden sollen, bevor sie ablaufen. Der Standardwert ist `1`. 
+ numberOfSnapshotsToRetain — Die Mindestanzahl von Snapshots, die aufbewahrt werden müssen, auch wenn sie älter als die Aufbewahrungsfrist sind. Der Standardwert ist `5`. 
+ cleanExpiredFiles — Ein boolescher Wert, der angibt, ob abgelaufene Datendateien nach ablaufenden Snapshots gelöscht werden sollen. Der Standardwert ist `true`. 

   Wenn dieser Wert auf „true“ gesetzt ist, werden ältere Snapshots aus den Tabellenmetadaten entfernt, und die ihnen zugrunde liegenden Dateien werden gelöscht. Wenn dieser Parameter auf „false“ gesetzt ist, werden ältere Snapshots aus den Tabellenmetadaten entfernt, aber die ihnen zugrunde liegenden Dateien verbleiben als verwaiste Dateien im Speicher. 

------
#### [ API ]

Um einen Tabellenoptimierer zu aktualisieren, können Sie die `UpdateTableOptimizer`-API verwenden. Mit dieser API können Sie die Konfiguration eines vorhandenen Tabellenoptimierers für die Komprimierung, Aufbewahrung oder Entfernung von verwaisten Dateien aktualisieren. Zu den Anforderungsparametern zählen:
+ catalogId (erforderlich): Die ID des Katalogs, der die Tabelle enthält 
+  databaseName (optional): Der Name der Datenbank, die die Tabelle enthält 
+  tableName (optional): Der Name der Tabelle 
+  type (erforderlich): Der Typ des Tabellenoptimierers (Komprimierung, Aufbewahrung oder Entfernung von verwaisten Dateien) 
+  RetentionConfiguration (erforderlich): Die aktualisierte Konfiguration für den Tabellenoptimierer, einschließlich Rollen-ARN, Aktivierungsstatus, Aufbewahrungskonfiguration und Konfiguration zum Entfernen verwaister Dateien. 

------

# Deaktivieren des Snapshot-Aufbewahrungsoptimierers
<a name="disable-snapshot-retention"></a>

 Sie können den Snapshot Retention Optimizer für eine bestimmte Apache Iceberg-Tabelle mithilfe der AWS Glue Konsole oder deaktivieren. AWS CLI

------
#### [ Console ]

**Deaktivieren der Snapshot-Aufbewahrung**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die AWS Glue Konsole unter. [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)

1. Wählen Sie **Datenkatalog** und dann **Tabellen** aus. In der Liste der Tabellen wählen Sie die Iceberg-Tabelle aus, für die Sie die Konfiguration des Optimierer für die Snapshot-Aufbewahrung aktualisieren möchten.

1. Wählen Sie im unteren Bereich der **Tabellendetailseite** unter **Aktionen** die Option **Tabellenoptimierung** und **Deaktivieren**, **Snapshot-Aufbewahrung** aus.

   Sie können auch im Menü **Aktionen** oben rechts auf der Seite die Option **Deaktivieren** unter **Optimierung** auswählen.

1.  Klicken Sie in der Bestätigungsmeldung auf **Deaktivieren**. Sie können den Snapshot-Aufbewahrungsoptimierer später wieder aktivieren. 

    Nachdem Sie die Deaktivierung bestätigt haben, wird Snapshot-Aufbewahrungsoptimierer deaktiviert und der Status für Snapshots wird wieder auf `Not enabled` gesetzt.

------
#### [ AWS CLI ]

Ersetzen Sie im folgenden Beispiel die Konto-ID durch eine gültige AWS Konto-ID. Ersetzen Sie den Datenbanknamen und den Tabellennamen durch die tatsächlichen Tabellen- und Datenbanknamen in Iceberg. Ersetzen Sie das `roleArn` durch den AWS Ressourcennamen (ARN) der IAM-Rolle und den tatsächlichen Namen der IAM-Rolle, die über die erforderlichen Berechtigungen zum Ausführen des Aufbewahrungsoptimierers verfügt.

```
aws glue update-table-optimizer \
  --catalog-id 123456789012 \
  --database-name iceberg_db \
  --table-name iceberg_table \
  --table-optimizer-configuration '{"roleArn":"arn:aws:iam::123456789012:role/optimizer_role", "vpcConfiguration":{"glueConnectionName":"glue_connection_name"}, "enabled":'false'}'\ 
  --type retention
```

------
#### [ AWS API ]

Rufen Sie [UpdateTableOptimizer](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-table-optimizers.html#aws-glue-api-table-optimizers-UpdateTableOptimizer)den Vorgang auf, um den Snapshot-Aufbewahrungsoptimizer für eine bestimmte Tabelle zu deaktivieren.

------

# Löschen verwaister Dateien
<a name="orphan-file-deletion"></a>

 AWS Glue Data Catalog ermöglicht es Ihnen, verwaiste Dateien aus Ihren Iceberg-Tabellen zu entfernen. Verwaiste Dateien sind nicht referenzierte Dateien, die in Ihrer Amazon-S3-Datenquelle unter dem angegebenen Tabellenort vorhanden sind, nicht von den Iceberg-Tabellenmetadaten verfolgt werden und älter als die von Ihnen konfigurierte Altersgrenze sind. Diese verwaisten Dateien können sich im Laufe der Zeit aufgrund von Fehlern bei Vorgängen wie Komprimierung, Partitionslöschungen oder Tabellenumschreibungen ansammeln und unnötigen Speicherplatz beanspruchen.

Der Optimierer für das Löschen verwaister Dateien AWS Glue scannt die Tabellenmetadaten und die eigentlichen Datendateien, identifiziert die verwaisten Dateien und löscht sie, um Speicherplatz freizugeben. Der Optimierer entfernt nur Dateien, die nach dem Erstellungsdatum des Optimierers erstellt wurden und auch die konfigurierten Löschkriterien erfüllen. Dateien, die vor oder am Erstellungsdatum des Optimierers erstellt wurden, werden niemals gelöscht.

**Logik zum Löschen verwaister Dateien**

1. Datumsprüfung – vergleicht das Erstellungsdatum der Datei mit dem Erstellungsdatum des Optimierers. Wenn die Datei mindestens so alt ist wie der Optimierer, wird die Datei übersprungen.

1. Konfigurationsprüfung des Optimierers – wenn die Datei neuer als der Optimierers ist, wird die Datei anhand der konfigurierten Altersbeschränkung bewertet. Der Optimierer löscht die Datei, wenn sie den Löschkriterien entspricht. Die Datei wird übersprungen, wenn sie den Kriterien nicht entspricht.

 Sie können das Löschen verwaister Dateien initiieren, indem Sie im Datenkatalog einen Tabellenoptimierer für das Löschen verwaister Dateien erstellen.

**Wichtig**  
 Standardmäßig werden beim Löschen verwaister Dateien Dateien an Ihrem gesamten Speicherort in der Tabelle ausgewertet. AWS Glue Sie können zwar mithilfe eines API-Parameters ein Unterpräfix konfigurieren, um den Umfang der Auswertung einzuschränken, müssen jedoch sicherstellen, dass Ihr Tabellenspeicherort keine Dateien aus anderen Datenquellen oder Tabellen enthält. Wenn sich Ihr Tabellenspeicherort mit anderen Datenquellen überschneidet, identifiziert und löscht der Dienst möglicherweise nicht zugehörige Dateien als verwaiste Dateien. 

**Topics**
+ [Aktivieren des Löschens verwaister Dateien](enable-orphan-file-deletion.md)
+ [Aktualisieren des Optimierers für das Löschen verwaister Dateien](update-orphan-file-deletion.md)
+ [Deaktivieren der Löschung verwaister Dateien](disable-orphan-file-deletion.md)

# Aktivieren des Löschens verwaister Dateien
<a name="enable-orphan-file-deletion"></a>

 Sie können die AWS Glue Konsole oder die AWS API verwenden AWS CLI, um das Löschen verwaister Dateien für Ihre Apache Iceberg-Tabellen im Datenkatalog zu aktivieren. Bei neuen Tabellen können Sie Apache Iceberg als Tabellenformat auswählen und beim Erstellen der Tabelle den Optimierer zum Löschen verwaister Dateien aktivieren. Für neue Tabellen ist die Snapshot-Aufbewahrung standardmäßig deaktiviert.

------
#### [ Console ]

**So aktivieren Sie das Löschen verwaister Dateien**

1.  Öffnen Sie die AWS Glue Konsole unter [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)und melden Sie sich als Data Lake-Administrator, als Tabellenersteller oder als Benutzer an, dem die `lakeformation:GetDataAccess` Berechtigungen `glue:UpdateTable` und für die Tabelle erteilt wurden. 

1. Wählen Sie im Navigationsbereich unter **Datenkatalog** die Option **Tabellen** aus.

1. Wählen Sie auf der Seite **Tabellen** eine Iceberg-Tabelle aus, für die Sie das Löschen verwaister Dateien aktivieren möchten.

   Wählen Sie im unteren Bereich der Seite die Registerkarte **Tabellenoptimierung** und dann unter **Aktionen** die Optionen **Aktivieren** und **Löschen verwaister Dateien** aus. 

   Sie können auch im **Aktionsmenü** oben rechts die Option **Aktivieren** unter **Optimierung** auswählen.

1. Wählen Sie auf der Seite **Optimierung aktivieren** unter **Optimierungsoptionen** die Option **Löschen verwaister Dateien** aus.

1. Wenn Sie die **Standardeinstellungen** verwenden, werden alle verwaisten Dateien nach 3 Tagen gelöscht. Wenn Sie die verwaisten Dateien für eine bestimmte Anzahl von Tagen behalten möchten, wählen Sie **Einstellungen anpassen** aus.

1. Als Nächstes wählen Sie eine IAM-Rolle mit den erforderlichen Berechtigungen zum Löschen verwaister Dateien.

1. Wenn Sie Sicherheitsrichtlinien-Konfigurationen haben, bei denen der Iceberg-Tabellenoptimierer von einer bestimmten Virtual Private Cloud (VPC) aus auf Amazon S3 S3-Buckets zugreifen muss, stellen Sie eine AWS Glue Netzwerkverbindung her oder verwenden Sie eine bestehende.

   Wenn Sie noch keine AWS Glue VPC-Verbindung eingerichtet haben, erstellen Sie eine neue, indem Sie die Schritte im Abschnitt [Verbindungen für Konnektoren erstellen](https://docs.aws.amazon.com/glue/latest/dg/creating-connections.html) mithilfe der AWS Glue Konsole oder des AWS CLI/SDKs ausführen.

1. Wenn Sie **Einstellungen anpassen** auswählen, geben Sie unter **Konfiguration zum Löschen verwaister Dateien** die Anzahl der Tage ein, für die die Dateien vor dem Löschen beibehalten werden sollen. Sie können auch das Intervall zwischen zwei aufeinanderfolgenden Optimiererausführungen angeben. Der Standardwert beträgt 24 Stunden.

1. Wählen Sie **Optimierung aktivieren** aus.

------
#### [ AWS CLI ]

 Um das Löschen verwaister Dateien für eine Iceberg-Tabelle in zu aktivieren AWS Glue, müssen Sie einen Tabellenoptimierer vom Typ 1 erstellen `orphan_file_deletion` und das Feld auf true setzen. `enabled` Um mit dem einen Optimizer für das Löschen verwaister Dateien für eine Iceberg-Tabelle zu erstellen AWS CLI, können Sie den folgenden Befehl verwenden:

```
aws glue create-table-optimizer \
 --catalog-id 123456789012 \
 --database-name iceberg_db \
 --table-name iceberg_table \
 --table-optimizer-configuration '{"roleArn":"arn:aws:iam::123456789012:role/optimizer_role","enabled":true, "vpcConfiguration":{
"glueConnectionName":"glue_connection_name"}, "orphanFileDeletionConfiguration":{"icebergConfiguration":{"orphanFileRetentionPeriodInDays":3, "location":'S3 location'}}}'\
 --type orphan_file_deletion
```

 Dieser Befehl erstellt einen Optimierer für das Löschen verwaister Dateien für die angegebene Iceberg-Tabelle. Folgende sind die wichtigsten Parameter:
+ roleArn – der ARN der IAM-Rolle mit Berechtigungen für den Zugriff auf den S3-Bucket und die Glue-Ressourcen.
+ aktiviert – auf „true“ festlegen, um den Optimierer zu aktivieren.
+ orphanFileRetentionPeriodInDays — Die Anzahl der Tage, für die verwaiste Dateien aufbewahrt werden sollen, bevor sie gelöscht werden (mindestens 1 Tag).
+ Typ – auf „orphan\$1file\$1deletion“ setzen, um einen Optimierer für das Löschen verwaister Dateien zu erstellen.

 Nach der Erstellung des Tabellenoptimierers wird das Löschen verwaister Dateien in regelmäßigen Abständen durchgeführt (einmal täglich, sofern aktiviert). Sie können die Ausführungen mithilfe der `list-table-optimizer-runs`-API überprüfen. Der Auftrag zum Löschen verwaister Dateien identifiziert und löscht Dateien, die nicht in den Iceberg-Metadaten für die Tabelle erfasst sind.

------
#### [ API ]

Rufen Sie den [CreateTableOptimizer](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-table-optimizers.html#aws-glue-api-table-optimizers-CreateTableOptimizer)Vorgang auf, um den Optimizer für das Löschen verwaister Dateien für eine bestimmte Tabelle zu erstellen.

------

# Aktualisieren des Optimierers für das Löschen verwaister Dateien
<a name="update-orphan-file-deletion"></a>

 Sie können die Konfiguration für den Optimizer für das Löschen verwaister Dateien ändern, z. B. den Aufbewahrungszeitraum für verwaiste Dateien oder die vom Optimierer verwendete IAM-Rolle mithilfe der AWS Glue Konsole oder des Vorgangs ändern. AWS CLI`UpdateTableOptimizer` 

------
#### [ AWS-Managementkonsole ]

**So aktualisieren Sie den Optimierer für das Löschen verwaister Dateien**

1.  Wählen Sie **Datenkatalog** und dann **Tabellen** aus. In der Liste der Tabellen wählen Sie die Tabelle aus, für die Sie die Konfiguration des Optimierers für das Löschen verwaister Dateien aktualisieren möchten.

1. Wählen Sie unten auf der Seite **Tabellendetails** die Registerkarte **Tabellenoptimierung** und dann **Bearbeiten** aus. 

1.  Nehmen Sie auf der Seite **Optimierung bearbeiten** die gewünschten Änderungen vor. 

1.  Wählen Sie **Speichern**. 

------
#### [ AWS CLI ]

 Sie können den `update-table-optimizer` Aufruf verwenden, um den Optimizer für das Löschen verwaister Dateien in zu aktualisieren, Sie können Call verwenden. AWS Glue Auf diese Weise können Sie die `OrphanFileDeletionConfiguration` im Feld `icebergConfiguration` ändern, in dem Sie den aktualisierten `OrphanFileRetentionPeriodInDays`-Wert angeben können. Damit können Sie die Anzahl der Tage für die Aufbewahrung verwaister Dateien festlegen und den Speicherort der Iceberg-Tabelle angeben, aus dem verwaiste Dateien gelöscht werden sollen. 

```
aws glue update-table-optimizer \
 --catalog-id 123456789012 \
 --database-name iceberg_db \
 --table-name Iceberg_table \
 --table-optimizer-configuration '{"roleArn":"arn:aws:iam::123456789012:role/optimizer_role","enabled":true, "vpcConfiguration":{"glueConnectionName":"glue_connection_name"},"orphanFileDeletionConfiguration":{"icebergConfiguration":{"orphanFileRetentionPeriodInDays":5}}}' \
 --type orphan_file_deletion
```

------
#### [ API ]

Rufen Sie den [UpdateTableOptimizer](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-table-optimizers.html#aws-glue-api-table-optimizers-UpdateTableOptimizer)Vorgang auf, um den Optimizer für das Löschen verwaister Dateien für eine Tabelle zu aktualisieren.

------

 

# Deaktivieren der Löschung verwaister Dateien
<a name="disable-orphan-file-deletion"></a>

 Sie können den Optimizer für das Löschen verwaister Dateien für eine bestimmte Apache Iceberg-Tabelle mithilfe AWS Glue der Konsole oder deaktivieren. AWS CLI

------
#### [ Console ]

**Deaktivieren der Löschung verwaister Dateien**

1. Wählen Sie **Datenkatalog** und dann **Tabellen** aus. Wählen Sie aus der Tabellenliste die Iceberg-Tabelle aus, für die Sie den Optimierer für die Löschung verwaister Dateien deaktivieren möchten.

1. Wählen Sie im unteren Bereich der Seite **Tabellendetails** die Registerkarte **Tabellenoptimierung** aus.

1. Wählen Sie **Aktionen** und anschließend **Deaktivieren**, **Löschen verwaister Dateien** aus.

   Sie können auch im Menü **Aktionen** unter **Optimierung** die Option **Deaktivieren** auswählen.

1.  Klicken Sie in der Bestätigungsmeldung auf **Deaktivieren**. Sie können den Optimierer zum Löschen verwaister Dateien zu einem späteren Zeitpunkt wieder aktivieren. 

    Nach Ihrer Bestätigung wird der Optimierer zum Löschen verwaister Dateien deaktiviert und der Status für das Löschen verwaister Dateien wechselt zurück zu `Not enabled`.

------
#### [ AWS CLI ]

Ersetzen Sie im folgenden Beispiel die Konto-ID durch eine gültige AWS Konto-ID. Ersetzen Sie den Datenbanknamen und den Tabellennamen durch die tatsächlichen Tabellen- und Datenbanknamen in Iceberg. Ersetzen Sie das `roleArn` durch den AWS Ressourcennamen (ARN) der IAM-Rolle und den tatsächlichen Namen der IAM-Rolle, die über die erforderlichen Berechtigungen zum Deaktivieren des Optimierers verfügt.

```
aws glue update-table-optimizer \
  --catalog-id 123456789012 \
  --database-name iceberg_db \
  --table-name iceberg_table \
  --table-optimizer-configuration '{"roleArn":"arn:aws:iam::123456789012:role/optimizer_role", "enabled":'false'}'\ 
  --type orphan_file_deletion
```

------
#### [ API ]

Rufen Sie den [UpdateTableOptimizer](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-table-optimizers.html#aws-glue-api-table-optimizers-UpdateTableOptimizer)Vorgang auf, um den Snapshot-Aufbewahrungsoptimizer für eine bestimmte Tabelle zu deaktivieren.

------

# Anzeigen von Details zur Optimierung
<a name="view-optimization-status"></a>

Sie können den Optimierungsstatus für Apache Iceberg-Tabellen in der AWS Glue Konsole oder mithilfe von AWS API-Operationen anzeigen. AWS CLI

------
#### [ Console ]

**Anzeigen des Optimierungsstatus für Iceberg-Tabellen (Konsole)**
+ **Sie können den Optimierungsstatus für Iceberg-Tabellen auf der AWS Glue Konsole anzeigen, indem Sie eine Iceberg-Tabelle aus der **Tabellenliste** unter Datenkatalog auswählen.** Unter **Tabellenoptimierung**. Wählen Sie **Alle anzeigen** aus.  
![\[Detailseite der Apache-Iceberg-Tabelle mit der Option „Compaction aktivieren“.\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/images/table-list-compaction-status.png)

------
#### [  AWS CLI  ]

Sie können die Optimierungsdetails mit anzeigen. AWS CLI

Ersetzen Sie in den folgenden Beispielen die Konto-ID durch eine gültige AWS Konto-ID, den Datenbanknamen und den Tabellennamen durch den tatsächlichen Iceberg-Tabellennamen. Für `type` geben Sie einen Optimierungstyp an. Akzeptable Werte sind `compaction`, `retention` und `orphan-file-deletion`.
+ **Abrufen von Details der letzten Verdichtungsausführung für eine Tabelle**

  ```
  aws get-table-optimizer \
    --catalog-id 123456789012 \
    --database-name iceberg_db \
    --table-name iceberg_table \
    --type compaction
  ```
+ Verwenden Sie das folgende Beispiel, um den Verlauf eines Optimierers für eine bestimmte Tabelle abzurufen.

  ```
  aws list-table-optimizer-runs \
    --catalog-id 123456789012 \
    --database-name iceberg_db \
    --table-name iceberg_table \
    --type compaction
  ```
+ Im folgenden Beispiel wird gezeigt, wie Sie die Optimierungsausführung und die Konfigurationsdetails für mehrere Optimierer abrufen. Sie können maximal 20 Optimierer angeben.

  ```
  aws glue batch-get-table-optimizer \
  --entries '[{"catalogId":"123456789012", "databaseName":"iceberg_db", "tableName":"iceberg_table", "type":"compaction"}]'
  ```

------
#### [ API ]
+ Verwenden Sie die Operation `GetTableOptimizer`, um die Details der letzten Ausführung eines Optimierers abzurufen. 
+  Verwenden Sie die Operation `ListTableOptimizerRuns`, um den Verlauf eines bestimmten Optimierers für eine bestimmte Tabelle abzurufen. Sie können 20 Optimierer in einem einzigen API-Aufruf angeben. 
+ Verwenden Sie den [BatchGetTableOptimizer](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-table-optimizers.html#aws-glue-api-table-optimizers-BatchGetTableOptimizer)Vorgang, um Konfigurationsdetails für mehrere Optimierer in Ihrem Konto abzurufen. 

------

# Amazon CloudWatch Metriken anzeigen
<a name="view-optimization-metrics"></a>

 Nach einer erfolgreichen Ausführung der Tabellenoptimierer erstellt der Service Amazon CloudWatch -Metriken zur Leistung des Optimierungsauftrags. Sie können zu den **CloudWatch Metriken gehen und **Metriken****, **Alle Metriken** auswählen. Sie können Metriken nach dem spezifischen Namespace (z. B. AWS Glue), dem Tabellennamen oder dem Datenbanknamen filtern.

 Weitere Informationen finden Sie unter [Anzeigen der verfügbaren Metriken](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/viewing_metrics_with_cloudwatch.html) im *Benutzerhandbuch für Amazon CloudWatch *. 

****Verdichtung****
+ Anzahl der verdichteten Byte 
+ Anzahl der verdichteten Dateien
+ Anzahl der DPU, die dem Auftrag zugewiesen sind 
+ Auftragsdauer (Stunden) 

****Snapshot-Aufbewahrung****
+ Anzahl der gelöschten Datendateien 
+ Anzahl der gelöschten Manifestdateien
+ Anzahl der gelöschten Manifestlisten 
+ Auftragsdauer (Stunden)

****Löschen verwaister Dateien****
+ Anzahl der gelöschten verwaisten Dateien 
+ Auftragsdauer (Stunden) 

# Löschen eines Optimierers
<a name="delete-optimizer"></a>

Sie können einen Optimierer und die zugehörigen Metadaten für die Tabelle mithilfe AWS CLI unserer AWS API-Operation löschen.

Führen Sie den folgenden AWS CLI Befehl aus, um den Optimierungsverlauf für eine Tabelle zu löschen. Sie müssen den Optimizer `type` zusammen mit der Katalog-ID, dem Datenbanknamen und dem Tabellennamen angeben. Die akzeptablen Werte sind: `compaction`, `retention` und `orphan_file_deletion`.

```
aws glue delete-table-optimizer \
  --catalog-id 123456789012 \
  --database-name iceberg_db \
  --table-name iceberg_table \
  --type compaction
```

 Verwenden Sie die Operation `DeleteTableOptimizer`, um einen Optimierer für eine Tabelle zu löschen.

# Überlegungen und Einschränkungen
<a name="optimizer-notes"></a>

 Dieser Abschnitt enthält Dinge, die bei der Verwendung von Tabellenoptimierern innerhalb von AWS Glue Data Catalog zu beachten sind. 

## Haltbarkeit und Richtigkeit
<a name="durability-correctness"></a>

**Standorte der S3-Tabellen:**

Wenn sich mehrere AWS Glue Data Catalog Tabellen denselben Amazon S3 S3-Speicherort teilen und Optimizer aktiviert sind, löscht der Optimizer für die Aufbewahrung von Snapshots oder das Löschen verwaister Dateien für eine Tabelle möglicherweise Dateien, auf die in der anderen Tabelle noch verwiesen wird. Stellen Sie sicher, dass jede Tabelle mit aktivierten Optimierern einen eindeutigen Amazon S3 S3-Speicherort hat, der nicht mit anderen Tabellen gemeinsam genutzt wird, einschließlich Tabellen in verschiedenen Datenbanken.

**Ablauf des S3-Lebenszyklus:**

Die Lebenszyklusablaufregeln von Amazon S3, die für Iceberg-Tabellenspeicherorte gelten, können Manifest- und Datendateien löschen, auf die noch in aktiven Snapshots verwiesen wird. Wenn Ihr Bucket über Lebenszyklusablaufregeln verfügt, stellen Sie sicher, dass diese den Speicherpfad der Iceberg-Tabelle ausschließen.

## Unterstützte Formate und Einschränkungen für die verwaltete Datenverdichtung
<a name="compaction-notes"></a>

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 über die Tabelleneigenschaften und die Komprimierungseinstellungen die entsprechenden Einstellungen für Wiederholungsversuche, um gleichzeitige Schreibvorgänge effektiv verarbeiten zu können. Eine ausführliche Anleitung finden Sie im AWS Big Data-Blog zur [Verwaltung gleichzeitiger](https://aws.amazon.com/blogs/big-data/manage-concurrent-write-conflicts-in-apache-iceberg-on-the-aws-glue-data-catalog/) Schreibvorgänge in Iceberg-Tabellen. 

**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 Amazon S3 Express One Zone-Speicherklasse** — Sie können keine Komprimierung auf Amazon S3 Express One Zone Iceberg Tables 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
<a name="retention-notes"></a>

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 die Einhaltung der angegebenen Aufbewahrungsregeln sicher. Aufbewahrungsrichtlinien auf Branch- und Tag-Ebene haben Vorrang vor den Optimierungskonfigurationen. 

   Weitere Informationen finden Sie unter [Branching and Tagging](https://iceberg.apache.org/docs/nightly/branching/) 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](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. 

## OversizedAllocationException Ausnahme beim Debuggen
<a name="debug-exception"></a>

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-size` gesteuert.
  + Wenn dies auch nach mehreren Variationen nicht funktioniert, deaktivieren Sie die Vektorisierung. Dies wird in `read.parquet.vectorization.enabled` gesteuert.

# Unterstützte Regionen für Tabellenoptimierer
<a name="regions-optimizers"></a>

Die Tabellenoptimierungsfunktionen (Komprimierung, Aufbewahrung von Snapshots und Löschen verwaister Dateien) für AWS Glue Data Catalog sind im Folgenden verfügbar: AWS-Regionen
+ Asien-Pazifik (Tokio)
+ Asien-Pazifik (Seoul)
+ Asien-Pazifik (Mumbai)
+ Asien-Pazifik (Singapur)
+ Asien-Pazifik (Sydney)
+ Asien-Pazifik (Jakarta)
+ Kanada (Zentral)
+ Europa (Irland)
+ Europa (London)
+ Europa (Frankfurt)
+ Europa (Stockholm)
+ USA Ost (Nord-Virginia)
+ USA Ost (Ohio)
+ USA West (Oregon)
+ Südamerika (São Paulo)

# Optimieren der Abfrageleistung für Iceberg-Tabellen
<a name="iceberg-column-statistics"></a>

Apache Iceberg ist ein leistungsstarkes Open-Table-Format für riesige analytische Datensätze. AWS Glue unterstützt die Berechnung und Aktualisierung der Anzahl unterschiedlicher Werte (NDVs) für jede Spalte in Iceberg-Tabellen. Diese Statistiken können Dateningenieuren und Wissenschaftlern, die mit großen Datensätzen arbeiten, eine bessere Abfrageoptimierung, Datenverwaltung und Leistungseffizienz ermöglichen.

 AWS Glue schätzt die Anzahl der unterschiedlichen Werte in jeder Spalte der Iceberg-Tabelle und speichert sie [in Puffin-Dateien](https://iceberg.apache.org/puffin-spec/) auf Amazon S3, die mit Iceberg-Tabellen-Snapshots verknüpft sind. Puffin ist ein Iceberg-Dateiformat, das für die Speicherung von Metadaten wie Indizes, Statistiken und Skizzen entwickelt wurde. Die Speicherung von Skizzen in Puffin-Dateien, die mit Snapshots verknüpft sind, gewährleistet die Transaktionskonsistenz und Aktualität der NDV-Statistiken.

Sie können konfigurieren, dass die Aufgabe zur Generierung von Spaltenstatistiken über die Konsole oder ausgeführt wird. AWS Glue AWS CLI Wenn Sie den Prozess starten, AWS Glue wird ein Spark-Job im Hintergrund gestartet und die AWS Glue Tabellenmetadaten im Datenkatalog aktualisiert. Sie können Spaltenstatistiken über die AWS Glue Konsole AWS CLI oder durch Aufrufen des [GetColumnStatisticsForTable](https://docs.aws.amazon.com/glue/latest/webapi/API_GetColumnStatisticsForTable.html)API-Vorgangs anzeigen.

**Anmerkung**  
Wenn Sie AWS Lake Formation Berechtigungen verwenden, um den Zugriff auf die Tabelle zu steuern, erfordert die Rolle, die die Aufgabe für die Spaltenstatistik einnimmt, vollständigen Tabellenzugriff, um Statistiken zu generieren.

**Topics**
+ [Voraussetzungen für die Generierung von Spaltenstatistiken](iceberg-column-stats-prereqs.md)
+ [Generieren von Spaltenstatistiken für Iceberg-Tabellen](iceberg-generate-column-stats.md)
+ [Weitere Informationen finden Sie auch unter](#see-also-iceberg-stats)

# Voraussetzungen für die Generierung von Spaltenstatistiken
<a name="iceberg-column-stats-prereqs"></a>

Um Spaltenstatistiken für Iceberg-Tabellen zu generieren oder zu aktualisieren, übernimmt die Statistikgenerierungsaufgabe in Ihrem AWS Identity and Access Management Namen eine (IAM-) Rolle. Basierend auf den der Rolle erteilten Berechtigungen kann die Aufgabe zur Generierung von Spaltenstatistiken die Daten aus dem Amazon-S3-Datenspeicher lesen.

Wenn Sie die Aufgabe zur Generierung von Spaltenstatistiken konfigurieren, AWS Glue können Sie eine Rolle erstellen, die die `AWSGlueServiceRole` AWS verwaltete Richtlinie sowie die erforderliche Inline-Richtlinie für die angegebene Datenquelle umfasst. 

Wenn Sie eine vorhandene Rolle für das Generieren von Spaltenstatistiken angeben, stellen Sie sicher, dass dieser die `AWSGlueServiceRole`-Richtlinie oder eine gleichwertige Version dieser Richtlinie (oder eine reduzierte Version) sowie die erforderlichen Inline-Richtlinien enthält.

Weitere Informationen zu den erforderlichen Berechtigungen finden Sie unter [Voraussetzungen für die Generierung von Spaltenstatistiken](column-stats-prereqs.md). 

# Generieren von Spaltenstatistiken für Iceberg-Tabellen
<a name="iceberg-generate-column-stats"></a>

Gehen Sie wie folgt vor, um einen Zeitplan für die Generierung von Statistiken im Datenkatalog mithilfe der AWS Glue Konsole AWS CLI oder oder des **StartColumnStatisticsTaskRun**Vorgangs zu konfigurieren.

**Generieren von Spaltenstatistiken**

1. Melden Sie sich bei der AWS Glue Konsole an unter [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/). 

1. Wählen Sie unter „Datenkatalog“ die Option **Tabellen** aus.

1. Wählen Sie eine Iceberg-Tabelle aus der Liste aus. 

1. Wählen Sie im Menü **Aktionen** die Option **Spaltenstatistiken**, **Auf Abruf generieren** aus.

   Sie können auch im unteren Bereich der Seite **Tabellen** auf der Registerkarte **Spaltenstatistiken** die Schaltfläche **Statistik generieren** auswählen.

1. Geben Sie auf der Seite **Statistiken generieren** die Details zur Statistikgenerierung an. Folgen Sie den Schritten 6–11 im Abschnitt [Planmäßige Generierung von Spaltenstatistiken](generate-column-stats.md), um einen Zeitplan für die Statistikgenerierung für Iceberg-Tabellen zu konfigurieren. 

   Sie können sich auch dafür entscheiden, Spaltenstatistiken bei Bedarf zu generieren, indem Sie den Anweisungen unter [On-Demand-Generierung von Spaltenstatistiken](column-stats-on-demand.md) folgen.
**Anmerkung**  
Die Probenahmeoption ist für Iceberg-Tabellen nicht verfügbar.

   AWS Glue berechnet die Anzahl der unterschiedlichen Werte für jede Spalte der Iceberg-Tabelle in einer neuen Puffin-Datei, die an die angegebene Snapshot-ID an Ihrem Amazon S3-Standort übergeben wurde.

## Weitere Informationen finden Sie auch unter
<a name="see-also-iceberg-stats"></a>
+ [Anzeigen von Spaltenstatistiken](view-column-stats.md)
+ [Anzeigen von Spaltenstatistik-Aufgabenläufen](view-stats-run.md)
+ [Beenden des Spaltenstatistik-Aufgabenlaufs](stop-stats-run.md)
+ [Löschen von Spaltenstatistiken](delete-column-stats.md)