

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Popolamento e gestione delle tabelle transazionali
<a name="populate-otf"></a>

[Apache Iceberg](https://iceberg.apache.org/), [Apache Hudi](https://hudi.incubator.apache.org/) e Linux Foundation [Delta Lake](https://delta.io/) sono formati di tabelle open source progettati per gestire analisi dei dati su larga scala e carichi di lavoro di data lake in Apache Spark. 

È possibile popolare le tabelle Iceberg, Hudi e Delta Lake AWS Glue Data Catalog utilizzando i seguenti metodi: 
+ Crawler di AWS Glue; — Crawler di AWS Glue s può scoprire e popolare automaticamente i metadati delle tabelle Iceberg, Hudi e Delta Lake nel Data Catalog. Per ulteriori informazioni, consulta [Utilizzo dei crawler per compilare il Catalogo dati](add-crawler.md).
+ AWS Glue Processi ETL: puoi creare lavori ETL per scrivere dati nelle tabelle Iceberg, Hudi e Delta Lake e popolare i relativi metadati nel Data Catalog. Per ulteriori informazioni, consulta [Using Data](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-datalake-native-frameworks.html) Lake Frameworks with ETL jobs. AWS Glue 
+ AWS Glue console, AWS Lake Formation console AWS CLI o API: puoi utilizzare la AWS Glue console, la console Lake Formation o l'API per creare e gestire le definizioni delle tabelle Iceberg nel Data Catalog.

**Topics**
+ [

## Creazione di tabelle Apache Iceberg
](#creating-iceberg-tables)
+ [

# Ottimizzazione delle tabelle Iceberg
](table-optimizers.md)
+ [

# Ottimizzazione delle prestazioni delle query per le tabelle Iceberg
](iceberg-column-statistics.md)

## Creazione di tabelle Apache Iceberg
<a name="creating-iceberg-tables"></a>

È possibile creare tabelle Apache Iceberg che utilizzano il formato di dati Apache Parquet in AWS Glue Data Catalog con dati che risiedono in Amazon S3. Una tabella nel catalogo dati è la definizione dei metadati che rappresenta i dati in un datastore. Per impostazione predefinita, AWS Glue crea tabelle Iceberg v2. Per la differenza tra le tabelle v1 e v2, consulta [Modifiche al tipo di formato](https://iceberg.apache.org/spec/#appendix-e-format-version-changes) nella documentazione di Apache Iceberg.

 [Apache Iceberg](https://iceberg.apache.org/) è un formato a tabella aperta per set di dati analitici di dimensioni molto grandi. Iceberg consente di modificare facilmente lo schema, operazione nota anche come evoluzione dello schema, il che significa che gli utenti possono aggiungere, rinominare o rimuovere colonne da una tabella di dati senza pregiudicare i dati sottostanti. Iceberg fornisce anche supporto per il controllo delle versioni dei dati, che consente agli utenti di tenere traccia delle modifiche apportate ai dati nel tempo. Ciò abilita la funzionalità di query temporale, che consente agli utenti di accedere e interrogare le versioni storiche dei dati e analizzare le modifiche ai dati tra aggiornamenti ed eliminazioni.

Puoi utilizzare AWS Glue la console Lake Formation o l'`CreateTable`operazione nell' AWS Glue API per creare una tabella Iceberg nel Data Catalog. Per ulteriori informazioni, vedere [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)).

Quando si crea una tabella Iceberg nel catalogo dati, occorre specificare il formato della tabella e il percorso del file dei metadati in Amazon S3 per poter eseguire letture e scritture.

 Puoi usare Lake Formation per proteggere la tua tabella Iceberg utilizzando autorizzazioni di controllo degli accessi granulari quando registri la posizione dati di Amazon S3 con. AWS Lake Formation Per i dati di origine in Amazon S3 e i metadati non registrati con Lake Formation, l'accesso è determinato dalle politiche di autorizzazione IAM per Amazon S3 e dalle azioni. AWS Glue Per ulteriori informazioni, consultare [Gestione delle autorizzazioni](https://docs.aws.amazon.com/lake-formation/latest/dg/managing-permissions.html). 

**Nota**  
Il catalogo dati non supporta la creazione di partizioni e l'aggiunta di proprietà delle tabelle Iceberg.

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

 Per creare tabelle Iceberg nel catalogo dati e configurare le autorizzazioni di accesso ai dati di Lake Formation, occorre soddisfare i seguenti requisiti: 

1. 

**Autorizzazioni richieste per creare tabelle Iceberg senza i dati registrati con Lake Formation.**

   Oltre alle autorizzazioni richieste per creare una tabella nel catalogo dati, il creatore della tabella richiede le seguenti autorizzazioni:
   + `s3:PutObject` sulla risorsa arn:aws:s3:::\$1bucketName\$1
   + `s3:GetObject` sulla risorsa arn:aws:s3:::\$1bucketName\$1
   + `s3:DeleteObject` sulla risorsa arn:aws:s3:::\$1bucketName\$1

1. 

**Autorizzazioni richieste per creare tabelle Iceberg con dati registrati con Lake Formation:**

   Per utilizzare Lake Formation per gestire e proteggere i dati nel data lake, registrare la posizione Amazon S3 che contiene i dati per le tabelle con Lake Formation. In questo modo Lake Formation può fornire credenziali a servizi di AWS analisi come Athena, Redshift Spectrum e Amazon EMR per accedere ai dati. Per ulteriori informazioni su come registrare una posizione Amazon S3, consultare [Aggiungere una posizione Amazon S3 al data lake](https://docs.aws.amazon.com/lake-formation/latest/dg/register-data-lake.html). 

   Un principale che legge e scrive i dati sottostanti registrati con Lake Formation richiede le seguenti autorizzazioni:
   + `lakeformation:GetDataAccess`
   + `DATA_LOCATION_ACCESS`

     Un principale che dispone di autorizzazioni di localizzazione dei dati in una sede dispone anche delle autorizzazioni di localizzazione su tutte le sedi secondarie.

     Per ulteriori informazioni sulle autorizzazioni di localizzazione dei dati, consultare il link [Controlli degli accessi ai dati sottostanti](https://docs.aws.amazon.com/lake-formation/latest/dg/access-control-underlying-data.html#data-location-permissions).

 Per abilitare la compattazione, il servizio deve assumere un ruolo IAM con le autorizzazioni per aggiornare le tabelle nel catalogo dati. Per maggiori dettagli, consultare [Prerequisiti per l'ottimizzazione delle tabelle](optimization-prerequisites.md). 

### Creazione di una tabella Iceberg
<a name="create-iceberg-table"></a>

Puoi creare tabelle Iceberg v1 e v2 utilizzando AWS Glue la console Lake Formation o AWS Command Line Interface come documentato in questa pagina. È anche possibile creare tabelle Iceberg usando Crawler di AWS Glue. Per ulteriori informazioni, consultare [Catalogo dati e crawler](https://docs.aws.amazon.com/glue/latest/dg/catalog-and-crawler.html) nella Guida per gli sviluppatori di AWS Glue .

**Per creare una tabella Iceberg**

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

1. Accedi Console di gestione AWS e apri la console all'indirizzo. AWS Glue [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)

1. In catalogo dati, scegliere **Tabelle** e utilizzare il pulsante **Crea tabella** per specificare i seguenti attributi:
   + **Nome tabella**: inserire un nome per la tabella. Se si utilizza Athena per accedere alle tabelle, utilizzare questi [suggerimenti per la denominazione](https://docs.aws.amazon.com/athena/latest/ug/tables-databases-columns-names.html) della Guida per l'utente di Amazon Athena.
   + **Database**: scegliere un database esistente o crearne uno nuovo.
   + **Descrizione**: la descrizione della tabella. È possibile scrivere una descrizione per aiutare a comprendere i contenuti della tabella.
   + **Formato tabella**: come **Formato tabella**, scegliere Apache Iceberg.
   + **Abilita compattazione**: scegliere **Abilita compattazione** per compattare piccoli oggetti Amazon S3 nella tabella in oggetti più grandi.
   + **Ruolo IAM**: per eseguire la compattazione, il servizio assume un ruolo IAM per tuo conto. Puoi scegliere un ruolo IAM utilizzando il menu a discesa. Assicurati che il ruolo disponga delle autorizzazioni necessarie per abilitare la compattazione.

     Per ulteriori informazioni sulle autorizzazioni necessarie per questo ruolo, consultare [Prerequisiti per l'ottimizzazione delle tabelle](optimization-prerequisites.md).
   + **Posizione**: specificare il percorso della cartella in Amazon S3 che memorizza la tabella dei metadati. Iceberg ha bisogno di un file di metadati e di una posizione nel catalogo dati per poter eseguire letture e scritture.
   + **Schema**: scegliere **Aggiungi colonne** per aggiungere colonne e tipi di dati delle colonne. Si dispone della possibilità di creare una tabella vuota e di aggiornare lo schema in un secondo momento. Il catalogo dati supporta i tipi di dati Hive. Per ulteriori informazioni, consultare [Tipi di dati Hive](https://cwiki.apache.org/confluence/plugins/servlet/mobile?contentId=27838462#content/view/27838462). 

      Iceberg consente di evolvere lo schema e la partizione dopo aver creato la tabella. È possibile usare le [query di Athena](https://docs.aws.amazon.com/athena/latest/ug/querying-iceberg-evolving-table-schema.html) per aggiornare lo schema della tabella e le [query Spark](https://iceberg.apache.org/docs/latest/spark-ddl/#alter-table-sql-extensions) per aggiornare le partizioni. 

------
#### [ 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**
+ [

### Prerequisiti
](#iceberg-prerequisites)
+ [

### Creazione di una tabella Iceberg
](#create-iceberg-table)

# Ottimizzazione delle tabelle Iceberg
<a name="table-optimizers"></a>

AWS Glue supporta diverse opzioni di ottimizzazione delle tabelle per migliorare la gestione e le prestazioni delle tabelle Apache Iceberg utilizzate dai motori AWS analitici e dai job ETL. Questi ottimizzatori offrono un utilizzo efficiente dello storage, prestazioni di query migliorate e una gestione efficace dei dati. Sono disponibili tre tipi di ottimizzatori di tabelle in: AWS Glue
+ **Compattazione**: la compattazione dei dati compatta file di dati di piccole dimensioni per ridurre l'utilizzo dell'archiviazione e migliorare le prestazioni di lettura. I file di dati vengono uniti e riscritti per rimuovere i dati obsoleti e consolidare i dati frammentati in file più grandi ed efficienti. È possibile configurare la compattazione in modo che venga eseguita automaticamente. 

  Binpack è la strategia di compattazione predefinita in Apache Iceberg. Combina file di dati più piccoli in file più grandi per prestazioni ottimali. La compattazione supporta anche strategie di Sort e Z-order che raggruppano dati simili. Sort organizza i dati in base a colonne specifiche, migliorando le prestazioni delle query per le operazioni filtrate. Z-order crea set di dati ordinati che migliorano le prestazioni delle query quando vengono eseguite query su più colonne contemporaneamente. Tutte e tre le strategie di compattazione (Binpack, Sort e Z-order) riducono la quantità di dati scansionati dai motori di query, riducendo così i costi di elaborazione delle query.
+ **Conservazione degli snapshot**: gli snapshot sono versioni con data e ora di una tabella Iceberg. Le configurazioni di conservazione degli snapshot consentono ai clienti di stabilire per quanto tempo conservare gli snapshot e quanti snapshot conservare. La configurazione di un ottimizzatore di conservazione degli snapshot può aiutare a gestire il sovraccarico di archiviazione rimuovendo gli snapshot più vecchi e non necessari e i relativi file sottostanti.
+ **Eliminazione di file orfani**: i file orfani sono file a cui non fanno più riferimento i metadati della tabella Iceberg. Questi file possono accumularsi nel tempo, soprattutto dopo operazioni come l'eliminazione di tabelle o i processi ETL non riusciti. L'abilitazione dell'eliminazione dei file orfani consente di AWS Glue identificare e rimuovere periodicamente questi file non necessari, liberando spazio di archiviazione.

La configurazione di ottimizzazione a livello di catalogo è disponibile tramite la console Lake Formation e utilizzando l'operazione AWS Glue `UpdateCatalog` API. Puoi abilitare o disabilitare gli ottimizzatori di compattazione, conservazione delle istantanee e cancellazione di file orfani per le singole tabelle Iceberg nel Data Catalog utilizzando la console o le AWS Glue operazioni API. AWS CLI AWS Glue 

 Il video seguente illustra come configurare ottimizzatori per tabelle Iceberg nel catalogo dati. 

[![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**
+ [

# Prerequisiti per l'ottimizzazione delle tabelle
](optimization-prerequisites.md)
+ [

# Ottimizzatori di tabelle a livello di catalogo
](catalog-level-optimizers.md)
+ [

# Ottimazione della compattazione
](compaction-management.md)
+ [

# Ottimizzazione di conservazione degli snapshot
](snapshot-retention-management.md)
+ [

# Eliminazione di file orfani
](orphan-file-deletion.md)
+ [

# Visualizzazione dei dettagli dell'ottimizzazione
](view-optimization-status.md)
+ [

# Visualizzazione delle Amazon CloudWatch metriche
](view-optimization-metrics.md)
+ [

# Eliminazione di un ottimizzatore
](delete-optimizer.md)
+ [

# Considerazioni e limitazioni
](optimizer-notes.md)
+ [

# Regioni supportate per gli ottimizzatori di tabelle
](regions-optimizers.md)

# Prerequisiti per l'ottimizzazione delle tabelle
<a name="optimization-prerequisites"></a>

L'ottimizzatore di tabelle presuppone le autorizzazioni del ruolo AWS Identity and Access Management (IAM) specificato quando abiliti le opzioni di ottimizzazione (compattazione, conservazione delle istantanee ed eliminazione di file orfani) per una tabella. È possibile creare un singolo ruolo per tutti gli ottimizzatori o creare ruoli separati per ogni ottimizzatore.

**Nota**  
L'ottimizzatore per l'eliminazione dei file orfani non richiede le autorizzazioni `glue:updateTable` o `s3:putObject`. Gli ottimizzatori di scadenza e compattazione degli snapshot richiedono lo stesso set di autorizzazioni.

Il ruolo IAM deve disporre delle autorizzazioni per leggere i dati e aggiornare i metadati nel Catalogo dati. Puoi creare un ruolo IAM e collegare le seguenti policy in linea:
+ Aggiungi la seguente politica in linea che concede le autorizzazioni di Amazon read/write S3 sulla posizione per i dati che non sono registrati con. AWS Lake Formation Questa politica include anche le autorizzazioni per aggiornare la tabella nel Data Catalog e per consentire l'aggiunta di log nei log e AWS Glue la pubblicazione di metriche. Amazon CloudWatch Per i dati di origine in Amazon S3 che non sono registrati con Lake Formation, l'accesso è determinato dalle policy di autorizzazione IAM per Amazon S3 e dalle operazioni AWS Glue . 

  Nelle seguenti policy in linea, sostituisci `bucket-name` con il nome del bucket Amazon S3, `aws-account-id` e `region` con un numero di account AWS valido e una regione del Catalogo dati, `database_name` con il nome del database e `table_name` con il nome della tabella.

------
#### [ 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:*"
              ]
          }
      ]
  }
  ```

------
+ Utilizza la seguente policy per abilitare la compattazione dei dati registrati con Lake Formation. 

  Se al ruolo di ottimizzazione non sono concesse le autorizzazioni di gruppo `IAM_ALLOWED_PRINCIPALS` sulla tabella, il ruolo richiede autorizzazioni `ALTER`, `DESCRIBE`, `INSERT` e `DELETE` di Lake Formation sulla tabella. 

  Per ulteriori informazioni su come registrare un bucket Amazon S3 con Lake Formation, consultare [Aggiungere una posizione Amazon S3 al 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:*"
        ]
      }
    ]
  }
  ```

------
+ (Facoltativo) Per ottimizzare le tabelle Iceberg con i dati nei bucket Amazon S3 crittografati utilizzando la [Crittografia lato server](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html), il ruolo di compattazione richiede le autorizzazioni per decrittografare gli oggetti Amazon S3 e per generare una nuova chiave dati per scrivere oggetti nei bucket crittografati. Aggiungi la seguente politica alla chiave desiderata. AWS KMS Supportiamo solo la crittografia a livello di bucket.

  ```
  {
      "Effect": "Allow",
      "Principal": {
          "AWS": "arn:aws:iam::<aws-account-id>:role/<optimizer-role-name>"
      },
      "Action": [
          "kms:Decrypt",
          "kms:GenerateDataKey"
      ],
      "Resource": "*"
  }
  ```
+  (Facoltativo) Per la posizione dei dati registrati con Lake Formation, il ruolo utilizzato per registrare la posizione richiede le autorizzazioni per decrittografare gli oggetti Amazon S3 e generare una nuova chiave dati per scrivere oggetti nei bucket crittografati. Per ulteriori informazioni, consulta la pagina [Registrazione di una posizione crittografata Amazon S3](https://docs.aws.amazon.com/lake-formation/latest/dg/register-encrypted.html). 
+ (Facoltativo) Se la AWS KMS chiave è archiviata in un altro AWS account, è necessario includere le seguenti autorizzazioni per il ruolo di compattazione.

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

****  

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

------
+  Il ruolo utilizzato per eseguire la compattazione deve disporre dell'autorizzazione `iam:PassRole` relativa al ruolo. 

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

****  

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

------
+ Aggiungi la seguente policy di fiducia al ruolo affinché il AWS Glue servizio assuma il ruolo IAM per eseguire il processo di compattazione.

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

****  

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

------
+ <a name="catalog-optimizer-requirement"></a> (Facoltativo) Per aggiornare le impostazioni del Data Catalog e abilitare le ottimizzazioni delle tabelle a livello di catalogo, il ruolo IAM utilizzato deve disporre dell'`glue:UpdateCatalog`autorizzazione o dell' AWS Lake Formation `ALTER CATALOG`autorizzazione sul catalogo principale. È possibile utilizzare l'API `GetCatalog` per verificare le proprietà del catalogo. 

# Ottimizzatori di tabelle a livello di catalogo
<a name="catalog-level-optimizers"></a>

Con una configurazione unica del catalogo, puoi impostare ottimizzatori automatici come la compattazione, la conservazione degli snapshot e l'eliminazione dei file orfani per tutte le tabelle Apache Iceberg nuove e aggiornate di AWS Glue Data Catalog. Le configurazioni degli ottimizzatori a livello di catalogo consentono di applicare impostazioni di ottimizzazione coerenti su tutte le tabelle all'interno di un catalogo, eliminando la necessità di configurare gli ottimizzatori singolarmente per ogni tabella.

Gli amministratori di Data Lake possono configurare gli ottimizzatori di tabelle selezionando il catalogo predefinito nella console Lake Formation e abilitando gli ottimizzatori utilizzando l'opzione `Table optimization`. Quando si creano nuove tabelle o si aggiornano le tabelle esistenti nel Catalogo dati, questo esegue automaticamente le ottimizzazioni delle tabelle per ridurre il carico operativo.

Se hai configurato l'ottimizzazione a livello di tabella o se hai precedentemente eliminato le impostazioni di ottimizzazione per una tabella, tali impostazioni specifiche della tabella hanno la precedenza sulle impostazioni predefinite del catalogo. Se un parametro di configurazione non è definito né a livello di tabella né di catalogo, verrà applicato il valore della proprietà della tabella Iceberg. Questa impostazione è applicabile all'ottimizzatore per la conservazione degli snapshot e l'eliminazione dei file orfani.

Quando si abilitano gli ottimizzatori a livello di catalogo, considerare quanto segue:
+ Quando si configurano le impostazioni di ottimizzazione al momento della creazione del catalogo e successivamente si disabilitano le ottimizzazioni tramite una richiesta di aggiornamento del catalogo, l'operazione viene eseguita a cascata su tutte le tabelle all'interno del catalogo.
+ Se sono già stati configurati degli ottimizzatori per una determinata tabella, l'operazione di disabilitazione a livello di catalogo non avrà alcun impatto su questa tabella.
+ Quando si disabilitano gli ottimizzatori a livello di catalogo, le tabelle con configurazioni di ottimizzazione esistenti manterranno le relative impostazioni specifiche e non verranno alterate dalla modifica a livello di catalogo. Tuttavia, le tabelle senza le proprie configurazioni di ottimizzazione erediteranno lo stato di disabilitazione dal livello di catalogo.
+ Poiché gli ottimizzatori per la conservazione degli snapshot e l'eliminazione dei file orfani possono essere basate sulla pianificazione, gli aggiornamenti introdurranno un ritardo casuale all'inizio della pianificazione. In questo modo, ogni ottimizzatore si avvia in un momento leggermente diverso dagli altri, così da suddividere il carico e ridurre la probabilità di superare i limiti di servizio.
+ Le impostazioni dell'ottimizzatore a livello di catalogo non vengono ereditate automaticamente dalle tabelle quando AWS Glue Data Catalog la crittografia è abilitata. Se nel catalogo è abilitata la crittografia dei metadati, è necessario configurare gli ottimizzatori di tabella singolarmente per ogni tabella. Per utilizzare l'ereditarietà degli ottimizzatori a livello di catalogo, la crittografia dei metadati deve essere disabilitata nel catalogo.

**Topics**
+ [

# Abilitazione dell'ottimizzazione automatica delle tabelle a livello di catalogo
](enable-auto-table-optimizers.md)
+ [

# Visualizzazione delle ottimizzazioni a livello di catalogo
](view-catalog-optimizations.md)
+ [

# Disabilitazione dell'ottimizzazione delle tabelle a livello di catalogo
](disable-auto-table-optimizers.md)

# Abilitazione dell'ottimizzazione automatica delle tabelle a livello di catalogo
<a name="enable-auto-table-optimizers"></a>

 Puoi abilitare l'ottimizzazione automatica delle tabelle per tutte le nuove tabelle Apache Iceberg nel Catalogo dati. Dopo aver creato la tabella, puoi anche aggiornare in modo esplicito le impostazioni dell'ottimizzazione della tabella manualmente. 

 Per aggiornare le impostazioni dei cataloghi dati per abilitare l'ottimizzazione a livello di catalogo, il ruolo IAM utilizzato deve avere `glue:UpdateCatalog` l'autorizzazione sul catalogo principale. È possibile utilizzare `GetCatalog` l'API per verificare le proprietà del catalogo. 

 Per le tabelle gestite da Lake Formation, il ruolo IAM selezionato durante la configurazione di ottimizzazione del catalogo richiede le autorizzazioni Lake Formation `ALTER`, `DESCRIBE`, `INSERT` e `DELETE` per eventuali nuove tabelle o tabelle aggiornate. 

## Abilitazione degli ottimizzatori a livello di catalogo (console)
<a name="enable-catalog-optimizers-console"></a>

1. Apri la console Lake Formation all'indirizzo [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. Nel pannello di navigazione, seleziona **Catalogo dati**.

1. Seleziona la scheda **Cataloghi.**

1. Scegli il catalogo a livello di account.

1. Scegli **Ottimizzazioni della tabella**, **Modifica** nella scheda **Ottimizzazioni della tabella**. Puoi anche scegliere **Modifica ottimizzazioni** dalla sezione **Azioni**.  
![\[La schermata mostra l'opzione di modifica per abilitare le ottimizzazioni a livello di catalogo.\]](http://docs.aws.amazon.com/it_it/glue/latest/dg/images/catalog-edit-optimizations.png)

1. Nella pagina **Ottimizzazione della tabella**, configura le seguenti opzioni:  
![\[La schermata mostra l'opzione di ottimizzazione a livello di catalogo.\]](http://docs.aws.amazon.com/it_it/glue/latest/dg/images/catalog-optimization-options.png)

   1. Configura le impostazioni di **Compattazione**:
      + Abilita/disabilita la compattazione.
      + Scegli il ruolo IAM che dispone delle autorizzazioni necessarie per eseguire gli ottimizzatori.

        Per ulteriori informazioni sui requisiti di autorizzazione per il ruolo IAM, consulta [Prerequisiti per l'ottimizzazione delle tabelle](optimization-prerequisites.md).

   1. Configura le impostazioni di **Conservazione degli snapshot**:
      + Abilita/disabilita la conservazione.
      + Imposta il periodo di conservazione dello snapshot in giorni: l'impostazione predefinita è 5 giorni.
      + Imposta il numero di snapshot da mantenere: l'impostazione predefinita è 1 snapshot.
      + Abilita/disabilita la pulizia dei file scaduti.

   1. Configura le impostazioni di **eliminazione dei file orfani**:
      + Abilita/disabilita l'eliminazione dei file orfani.
      + Imposta il periodo di conservazione del file orfano in giorni: l'impostazione predefinita è 3 giorni.

1. Scegli **Save** (Salva).

## Abilitazione degli ottimizzatori a livello di catalogo tramite AWS CLI
<a name="catalog-auto-optimizers-cli"></a>

Utilizza il seguente comando CLI per aggiornare un catalogo esistente con le impostazioni dell'ottimizzatore:

**Example Aggiorna il catalogo con le impostazioni dell'ottimizzatore**  

```
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"
                }
            }
        }
    }
}'
```

Se riscontri problemi con gli ottimizzatori a livello di catalogo, controlla quanto segue:
+ Assicurati che il ruolo IAM disponga delle autorizzazioni corrette, come indicato nella sezione Prerequisiti.
+ Controlla CloudWatch i log per eventuali messaggi di errore relativi alle operazioni dell'ottimizzatore.

   Per ulteriori informazioni, consultare [Visualizzazione di parametri disponibili](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/viewing_metrics_with_cloudwatch.html) nella *Guida per l'utente di Amazon CloudWatch *. 
+ Verifica che le impostazioni del catalogo siano state applicate correttamente controllando la configurazione del catalogo.
+ Per gli errori di accesso alle tabelle, controlla i CloudWatch log e le EventBridge notifiche per informazioni dettagliate sugli errori.

# Visualizzazione delle ottimizzazioni a livello di catalogo
<a name="view-catalog-optimizations"></a>

 Quando l'ottimizzazione della tabella a livello di catalogo è abilitata, ogni volta che viene creata o aggiornata una tabella Apache Iceberg tramite `CreateTable` o `UpdateTable` APIs tramite SDK o Console di gestione AWS Crawler di AWS Glue, viene creata un'impostazione a livello di tabella equivalente per quella tabella. 

 Dopo aver creato o aggiornato una tabella, è possibile verificare i dettagli della tabella per confermarne l'ottimizzazione. `Table optimization` mostra la proprietà `Configuration source` impostata come `Catalog`. 

![\[È stata applicata un'immagine di una tabella Apache Iceberg con configurazione di ottimizzazione a livello di catalogo.\]](http://docs.aws.amazon.com/it_it/glue/latest/dg/images/catalog-optimization-enabled.png)


# Disabilitazione dell'ottimizzazione delle tabelle a livello di catalogo
<a name="disable-auto-table-optimizers"></a>

 Puoi disabilitare l'ottimizzazione delle tabelle per le nuove tabelle utilizzando la AWS Lake Formation console, l'`glue:UpdateCatalog`API. 

**Per disabilitare le ottimizzazioni delle tabelle a livello di catalogo**

1. Apri la console Lake Formation all'indirizzo [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. Nella barra di navigazione a sinistra, scegli **Cataloghi**.

1. Nella pagina di **Riepilogo del catalogo**, scegli **Modifica** in **Ottimizzazioni delle tabelle**.

1. Nella pagina **Modifica ottimizzazione**, deselezionare le **opzioni di ottimizzazione**.

1. Scegli **Save** (Salva).

# Ottimazione della compattazione
<a name="compaction-management"></a>

 I data lake Amazon S3 che utilizzano formati di tabelle aperte come Apache Iceberg archiviano i dati come oggetti S3. La presenza di migliaia di piccoli oggetti Amazon S3 in una tabella di data lake aumenta il sovraccarico dei metadati e influisce sulle prestazioni di lettura. AWS Glue Data Catalog fornisce una compattazione gestita per le tabelle Iceberg, compattando oggetti di piccole dimensioni in oggetti più grandi per migliorare le prestazioni di lettura tramite servizi di AWS analisi come Amazon Athena Amazon EMR ed ETL. AWS Glue Catalogo dati esegue la compattazione senza interferire con le query simultanee e supporta la compattazione solo per le tabelle in formato Parquet. 

L'ottimizzatore delle tabelle monitora continuamente le partizioni delle tabelle e avvia il processo di compattazione quando viene superata la soglia per il numero di file e le dimensioni dei file.

Nel Catalogo dati, il processo di compattazione inizia quando una tabella o una delle sue partizioni contiene più di 100 file. Ogni file deve essere inferiore al 75% della dimensione del file di destinazione. La dimensione del file di destinazione è definita dalla proprietà della tabella `write.target-file-size-bytes`, che per impostazione predefinita è 512 MB, se non è impostata in modo esplicito.

 Per le limitazioni, consulta [Formati supportati e limitazioni per la compattazione gestita dei dati](optimizer-notes.md#compaction-notes). 

**Topics**
+ [

# Abilitazione dell'ottimizzatore di compattazione
](enable-compaction.md)
+ [

# Disabilitazione dell'ottimizzatore di compattazione
](disable-compaction.md)

# Abilitazione dell'ottimizzatore di compattazione
<a name="enable-compaction"></a>

 Puoi utilizzare la AWS Glue console o l' AWS CLI AWS API per abilitare la compattazione delle tabelle Apache Iceberg nel AWS Glue Data Catalog. Per le nuove tabelle, puoi scegliere Apache Iceberg come formato di tabella e abilitare la compattazione quando crei la tabella. La compattazione è disabilitata per impostazione predefinita per le nuove tabelle.

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

**Per abilitare la compattazione**

1.  Apri la AWS Glue console all'indirizzo [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)e accedi come amministratore del data lake, creatore della tabella o utente a cui sono state concesse `lakeformation:GetDataAccess` le autorizzazioni `glue:UpdateTable` e sulla tabella. 

1. Nel pannello di navigazione, in **Catalogo dati**, seleziona **Tabelle**.

1. Nella pagina **Tabelle**, scegli una tabella in formato tabella aperta per la quale desideri abilitare la compattazione, quindi nel menu **Azioni**, scegli **Ottimizzazione** e poi **Abilita**.

   Puoi anche abilitare la compattazione selezionando l'**Ottimizzazione della tabella** nella pagina dei **Dettagli della tabella**. Scegli la scheda **Ottimizzazione della tabella** nella sezione inferiore della pagina e scegli **Abilita compattazione**. 

   L'opzione **Abilita ottimizzazione** è disponibile anche quando crei una nuova tabella Iceberg nel Catalogo dati.

1. Nella pagina **Abilita ottimizzazione**, scegli **Compattazione** in **Opzioni di ottimizzazione**.  
![\[Pagina dei dettagli della tabella Apache Iceberg con l'opzione Abilita compattazione.\]](http://docs.aws.amazon.com/it_it/glue/latest/dg/images/table-enable-compaction.png)

1. Successivamente, seleziona un ruolo IAM dal menu a discesa con le autorizzazioni mostrate nella sezione [Prerequisiti per l'ottimizzazione delle tabelle](optimization-prerequisites.md). 

   Puoi anche scegliere l'opzione **Crea un nuovo ruolo IAM** per creare un ruolo personalizzato con le autorizzazioni necessarie per eseguire la compattazione.

    Segui la procedura riportata di seguito per aggiornare un ruolo IAM esistente: 

   1.  Per aggiornare la politica di autorizzazione per il ruolo IAM, nella console IAM, vai al ruolo IAM utilizzato per eseguire la compattazione. 

   1.  Nella sezione **Aggiungi autorizzazioni**, scegli Crea policy. Nella finestra del browser appena aperta, crea una nuova policy da utilizzare con il tuo ruolo. 

   1. Nella pagina Crea policy, scegli la `JSON` scheda. Copia il codice JSON mostrato nei Prerequisiti nel campo dell'editor delle policy.

1. Se hai configurazioni di policy di sicurezza in cui l'ottimizzatore di tabelle Iceberg deve accedere ai bucket Amazon S3 da uno specifico Virtual Private Cloud (VPC), crea una connessione di rete o usane una esistente. AWS Glue 

   Se non hai già configurato una connessione AWS Glue VPC, creane una nuova seguendo i passaggi nella sezione [Creazione di connessioni per connettori](https://docs.aws.amazon.com/glue/latest/dg/creating-connections.html) utilizzando la AWS Glue console o /SDK. AWS CLI

1. Scegliete una strategia di compattazione. Le opzioni disponibili sono:
   + **Binpack**: è la strategia di compattazione predefinita in Apache Iceberg. Combina file di dati più piccoli in file più grandi per prestazioni ottimali.
   + **Ordinamento**: l'ordinamento in Apache Iceberg è una tecnica di organizzazione dei dati che raggruppa le informazioni all'interno dei file in base a colonne specifiche, migliorando significativamente le prestazioni delle query riducendo il numero di file da elaborare. L'ordinamento viene definito nei metadati di Iceberg utilizzando il campo di ordinamento e, quando vengono specificate più colonne, i dati vengono ordinati nella sequenza in cui le colonne appaiono nell'ordine di ordinamento, assicurando che i record con valori simili vengano archiviati insieme all'interno dei file. La strategia di ordinamento e compattazione migliora l'ottimizzazione, ordinando i dati tra tutti i file all'interno di una partizione. 
   + **Ordinamento Z**: è un modo per organizzare i dati quando è necessario ordinarli in base a più colonne con uguale importanza. A differenza dell'ordinamento tradizionale che dà priorità a una colonna rispetto alle altre, l'ordinamento Z attribuisce un peso equilibrato a ciascuna colonna, aiutando il motore di query a leggere meno file durante la ricerca di dati.

     La tecnica funziona intrecciando le cifre binarie dei valori di colonne diverse. Ad esempio, se hai i numeri 3 e 4 di due colonne, l'ordinamento Z li converte prima in binario (3 diventa 011 e 4 diventa 100), quindi esegue l'interleave di queste cifre per creare un nuovo valore: 011010. Attraverso l'interleave si crea uno schema che mantiene i dati correlati fisicamente vicini tra loro.

     L'ordinamento Z è particolarmente efficace per le query multidimensionali. Ad esempio, una tabella clienti ordinata in base a reddito, stato e codice postale può offrire prestazioni superiori rispetto all'ordinamento gerarchico quando si eseguono query su più dimensioni. Questa organizzazione consente di eseguire query mirate a combinazioni specifiche di reddito e posizione geografica per individuare rapidamente i dati pertinenti riducendo al minimo le scansioni dei file non necessarie.

1. **Numero minimo di file di input**: il numero di file di dati necessari in una partizione prima che venga attivata la compattazione.

1. **Soglia di eliminazione dei file**: operazioni di eliminazione minime richieste in un file di dati prima che diventi idoneo alla compattazione.

1. Scegli **Abilita ottimizzazione**.

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

 L'esempio seguente mostra come abilitare la compattazione. Sostituisci l'ID dell'account con un ID account valido. AWS Sostituisci il nome del database e della tabella con quello effettivo della tabella Iceberg e del database. Sostituisci `roleArn` con il nome della risorsa (ARN) AWS del ruolo IAM e il nome del ruolo IAM che dispone delle autorizzazioni necessarie per eseguire la compattazione. Puoi sostituire la strategia di compattazione `sort` con altre strategie supportate come `z-order` o `binpack`.

ordina” in base alle tue esigenze.

```
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 ]

Chiama l'operazione [CreateTableOptimizer](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-table-optimizers.html#aws-glue-api-table-optimizers-CreateTableOptimizer) per abilitare la compattazione di una tabella.

------

Dopo aver abilitato la compattazione, la scheda di **Ottimizzazione della tabella** mostra i seguenti dettagli di compattazione, una volta completata la compattazione:

Ora di inizio  
L'ora in cui è iniziato il processo di compattazione all'interno del Catalogo dati. Il valore è un timestamp in formato UTC. 

Ora di fine  
L'ora in cui è terminato il processo di compattazione nel Catalogo dati. Il valore è un timestamp in formato UTC. 

Status  
Lo stato dell'esecuzione di compattazione. I valori sono esito positivo o negativo.

File compattati  
Numero totale di file compattati

Byte compattati  
Numero totale di byte compattati

# Disabilitazione dell'ottimizzatore di compattazione
<a name="disable-compaction"></a>

 È possibile disabilitare la compattazione automatica per una particolare tabella Apache Iceberg utilizzando AWS Glue la console o. AWS CLI

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

1. Accedi a Console di gestione AWS e apri la console all' AWS Glue indirizzo. [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)

1. Nella barra di navigazione a sinistra, in **Catalogo dati**, seleziona **Tabelle**. 

1. Dall'elenco delle tabelle, seleziona la tabella Iceberg di cui desideri disabilitare la compattazione.

1. Seleziona la scheda **Ottimizzazione delle tabelle** nella sezione inferiore della pagina **Dettagli delle tabelle**.

1. Da **Azioni**, seleziona **Disabilita**, quindi scegli **Compattazione**.

1.  Scegli **Disabilita la compattazione** nel messaggio di conferma. È possibile abilitare nuovamente la compattazione in un secondo momento. 

    Dopo la conferma, la compattazione viene disabilitata e il relativo stato torna a `Disabled`.

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

Nell'esempio seguente, sostituisci l'ID account con un ID AWS account valido. Sostituisci il nome del database e della tabella con quello effettivo della tabella Iceberg e del database. Sostituisci `roleArn` con il nome della AWS risorsa (ARN) del ruolo IAM e il nome effettivo del ruolo IAM che dispone delle autorizzazioni necessarie per eseguire la compattazione.

```
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 ]

Chiama l'operazione [UpdateTableOptimizer](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-table-optimizers.html#aws-glue-api-table-optimizers-UpdateTableOptimizer) per disabilitare la compattazione per una tabella specifica.

------

# Ottimizzazione di conservazione degli snapshot
<a name="snapshot-retention-management"></a>

La funzionalità di conservazione degli snapshot di Apache Iceberg consente agli utenti di effettuare query sui dati storici in momenti specifici e ripristinare le modifiche indesiderate alle tabelle. Nel AWS Glue Data Catalog, la configurazione di conservazione delle istantanee controlla per quanto tempo queste istantanee (versioni dei dati della tabella) vengono conservate prima di essere scadute e rimosse. Ciò aiuta a gestire i costi di archiviazione e il sovraccarico dei metadati rimuovendo automaticamente gli snapshot meno recenti in base a un periodo di conservazione configurato o al numero massimo di snapshot da conservare. 

È possibile configurare il periodo di conservazione in giorni e il numero massimo di istantanee da conservare per una tabella. AWS Glue rimuove le istantanee più vecchie del periodo di conservazione specificato dai metadati della tabella, mantenendo le istantanee più recenti fino al limite configurato. Dopo aver rimosso le vecchie istantanee dai metadati, AWS Glue elimina i file di dati e metadati corrispondenti che non sono più referenziati e univoci per le istantanee scadute. In questo modo, è possibile effettuare query temporali solo fino ai restanti snapshot conservati, recuperando al contempo lo spazio di archiviazione utilizzato dai dati degli snapshot scaduti.

**Topics**
+ [

# Abilitazione dell'ottimizzatore per la conservazione degli snapshot
](enable-snapshot-retention.md)
+ [

# Ottimizzatore per la conservazione degli snapshot
](update-snapshot-retention.md)
+ [

# Disabilitazione dell'ottimizzatore per la conservazione degli snapshot
](disable-snapshot-retention.md)

# Abilitazione dell'ottimizzatore per la conservazione degli snapshot
<a name="enable-snapshot-retention"></a>

 Puoi utilizzare la AWS Glue console o l' AWS API per abilitare gli ottimizzatori di conservazione delle istantanee per le tue tabelle Apache Iceberg nel Data Catalog. AWS CLI Per le nuove tabelle, puoi scegliere Apache Iceberg come formato di tabella e abilitare l'ottimizzatore dell'eliminazione dei file orfani quando crei la tabella. La conservazione degli snapshot è disabilitata per impostazione predefinita per le nuove tabelle.

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

**Abilitazione dell'ottimizzatore per la conservazione degli snapshot**

1.  Apri la AWS Glue console all'indirizzo [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)e accedi come amministratore del data lake, creatore della tabella o utente a cui sono state concesse le `lakeformation:GetDataAccess` autorizzazioni `glue:UpdateTable` e sulla tabella. 

1. Nel pannello di navigazione, in **Catalogo dati**, seleziona **Tabelle**.

1. Nella pagina **Tabelle**, scegli una tabella Iceberg per la quale desideri abilitare l'ottimizzatore di conservazione degli snapshot, quindi nel menu **Azioni**, scegli **Abilita** in **Ottimizzazione**.

   Puoi anche abilitare l'ottimizzazione selezionando la tabella e aprendo la pagina dei **Dettagli della tabella.** Scegli la scheda **Ottimizzazione della tabella** nella sezione inferiore della pagina e scegli **Abilita la conservazione degli snapshot**. 

1. Nella pagina **Abilita ottimizzazione **, in **Configurazione dell'ottimizzazione**, sono disponibili due opzioni: **Usa l'impostazione predefinita** o **Personalizza le impostazioni.** Se scegli di utilizzare le impostazioni predefinite, AWS Glue utilizza le proprietà definite nella configurazione della tabella Iceberg per determinare il periodo di conservazione delle istantanee e il numero di istantanee da conservare. In assenza di questa configurazione, AWS Glue conserva un'istantanea per cinque giorni ed elimina i file associati alle istantanee scadute.

1.  Quindi, scegli un ruolo IAM che AWS Glue possa assumere per tuo conto per eseguire l'ottimizzatore. Per ulteriori informazioni sulle autorizzazioni necessarie per il ruolo IAM, consulta la sezione [Prerequisiti per l'ottimizzazione delle tabelle](optimization-prerequisites.md).

   Segui la procedura riportata di seguito per aggiornare un ruolo IAM esistente: 

   1.  Per aggiornare la politica di autorizzazione per il ruolo IAM, nella console IAM, vai al ruolo IAM utilizzato per eseguire la compattazione. 

   1.  Nella sezione Aggiungi autorizzazioni, scegli Crea policy. Nella finestra del browser appena aperta, crea una nuova policy da utilizzare con il tuo ruolo. 

   1. Nella pagina Crea policy, scegli la scheda JSON. Copia il codice JSON mostrato nei Prerequisiti nel campo dell'editor delle policy.

1. Se preferisci impostare manualmente i valori per la **Configurazione della conservazione degli snapshot**, scegli **Personalizza impostazioni**.   
![\[Pagina dei dettagli della tabella Apache Iceberg con l'opzione Abilita conservazione>Personalizza impostazioni.\]](http://docs.aws.amazon.com/it_it/glue/latest/dg/images/table-enable-retention.png)

1. Scegli la casella **Applica il ruolo IAM selezionato agli ottimizzatori selezionati** per utilizzare un singolo ruolo IAM per tutti, abilitando tutti gli ottimizzatori.

1. Se hai configurazioni di policy di sicurezza in cui l'ottimizzatore di tabelle Iceberg deve accedere ai bucket Amazon S3 da uno specifico Virtual Private Cloud (VPC), crea una connessione di rete o usane una esistente. AWS Glue 

   Se non hai già configurato una connessione AWS Glue VPC, creane una nuova seguendo i passaggi nella sezione [Creazione di connessioni per connettori](https://docs.aws.amazon.com/glue/latest/dg/creating-connections.html) utilizzando la AWS Glue console o /SDK. AWS CLI

1. Successivamente, in Configurazione di **conservazione delle istantanee, scegli di utilizzare i valori specificati nella configurazione** della [tabella Iceberg](https://iceberg.apache.org/docs/1.5.2/configuration/#table-behavior-properties) o specifica valori personalizzati per il periodo di conservazione delle istantanee (history.expire). max-snapshot-age-ms), numero minimo di istantanee (history.expire). min-snapshots-to-keep) da conservare e il tempo in ore tra l'esecuzione di un processo di eliminazione consecutiva delle istantanee.

1.  Scegli **Elimina file associati** per eliminare i file sottostanti quando l'ottimizzatore di tabella elimina i vecchi snapshot dai metadati della tabella.

    Se non scegli questa opzione, quando gli snapshot più vecchie vengono rimosse dai metadati della tabella, i file associati rimarranno nell'archivio come file orfani. 

1. Quindi, leggi l'avviso di avvertenza e scegli **Confermo** per procedere.
**Nota**  
 Nel Catalogo dati, l'ottimizzatore di conservazione degli snapshot rispetta il ciclo di vita controllato da politiche di conservazione a livello di filiale e tag. Per ulteriori informazioni, consultare la sezione [Ramificazione e tagging](https://iceberg.apache.org/docs/latest/branching/#overview) nella documentazione di Apache Iceberg.

1. Rivedi la configurazione e scegli **Abilita ottimizzazione.**

   Attendi qualche minuto che l'ottimizzatore di conservazione venga eseguito e i vecchi snapshot scadano in base alla configurazione.

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

 Per abilitare la conservazione delle istantanee per le nuove tabelle Iceberg in AWS Glue, è necessario creare un ottimizzatore di tabelle di tipo `retention` e impostare il `enabled` campo su in. `true` `table-optimizer-configuration` È possibile farlo utilizzando il AWS CLI comando o. `create-table-optimizer` `update-table-optimizer` Inoltre, è necessario specificare i campi di configurazione della conservazione in modo analogo `snapshotRetentionPeriodInDays` e `numberOfSnapshotsToRetain` in base alle proprie esigenze.

L'esempio seguente mostra come abilitare l'ottimizzatore per la conservazione degli snapshot. Sostituisci l'ID dell'account con un ID AWS account valido. Sostituisci il nome del database e della tabella con quello effettivo della tabella Iceberg e del database. Sostituisci `roleArn` con il nome della AWS risorsa (ARN) del ruolo IAM e il nome del ruolo IAM che dispone delle autorizzazioni necessarie per eseguire lo snapshot retention optimizer. 

```
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
```

 Questo comando crea un ottimizzatore di conservazione per la tabella Iceberg nel catalogo, nel database e nella regione specificati. table-optimizer-configurationspecifica il ruolo IAM ARN da utilizzare, abilita l'ottimizzatore e imposta la configurazione di conservazione. In questo esempio, conserva gli snapshot per 7 giorni, mantiene almeno 3 snapshot e pulisce i file scaduti. 
+  snapshotRetentionPeriodInDays —Il numero di giorni in cui conservare le istantanee prima della loro scadenza. Il valore predefinito è `5`. 
+ numberOfSnapshotsToRetain — Il numero minimo di istantanee da conservare, anche se sono più vecchie del periodo di conservazione. Il valore predefinito è `1`. 
+ cleanExpiredFiles — Un valore booleano che indica se eliminare i file di dati scaduti dopo la scadenza delle istantanee. Il valore predefinito è `true`.

   Se impostato su true, gli snapshot più vecchi vengono rimossi dai metadati della tabella e i relativi file sottostanti vengono eliminati. Se questo parametro è impostato su false, gli snapshot più vecchi vengono rimossi dai metadati della tabella ma i relativi file sottostanti rimangono nell'archivio come file orfani. 

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

[CreateTableOptimizer](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-table-optimizers.html#aws-glue-api-table-optimizers-CreateTableOptimizer)Operazione di chiamata per abilitare l'ottimizzatore della conservazione delle istantanee per una tabella.

------

Dopo aver abilitato la compattazione, la scheda di **Ottimizzazione della tabella** mostra i seguenti dettagli di compattazione, dopo circa 15-20 minuti:

Ora di inizio  
L'ora in cui è stato avviato l'ottimizzatore per la conservazione degli snapshot. Il valore è un timestamp in formato UTC. 

Tempo di esecuzione  
Il tempo indica il tempo impiegato dall'ottimizzatore per completare l'operazione. Il valore è un timestamp in formato UTC. 

Status  
Lo stato dell'esecuzione dell'ottimizzatore. I valori sono esito positivo o negativo.

File di dati eliminati  
Numero totale di file eliminati.

File manifesto eliminati  
Numero totale di file manifesto eliminati.

Elenchi manifesto eliminati  
Numero totale di elenchi manifesto eliminati.

# Ottimizzatore per la conservazione degli snapshot
<a name="update-snapshot-retention"></a>

 È possibile aggiornare la configurazione esistente di un ottimizzatore di conservazione delle istantanee per una particolare tabella Apache Iceberg utilizzando la AWS Glue console o l' AWS CLI API. UpdateTableOptimizer 

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

**Per aggiornare la configurazione di conservazione degli snapshot**

1. Accedi Console di gestione AWS e apri la console all'indirizzo. AWS Glue [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)

1. Scegliere **Catalogo dati** e poi **Tabelle**. Dall'elenco delle tabelle, selezionare la tabella Iceberg in cui aggiornare la configurazione dell'ottimizzatore per la conservazione degli snapshot.

1. Nella parte inferiore della pagina **Dettagli tabella**, selezionare la scheda **Ottimizzazione tabella**, poi scegliere **Modifica**. È anche possibile scegliere **Modifica** in **Ottimizzazione** dal menu **Operazioni** situato nell'angolo in alto a destra della pagina.

1.  Nella pagina **Modifica ottimizzazione**, apportare le modifiche desiderate. 

1.  Scegli **Save** (Salva). 

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

 Per aggiornare un ottimizzatore di conservazione delle istantanee utilizzando AWS CLI, è possibile utilizzare il seguente comando: 

```
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
```

 Questo comando aggiorna la configurazione della conservazione per la tabella specificata nel dato catalogo, nel database e nella regione. I parametri chiave sono: 
+  snapshotRetentionPeriodInDays —Il numero di giorni in cui conservare le istantanee prima della scadenza. Il valore predefinito è `1`. 
+ numberOfSnapshotsToRetain — Il numero minimo di istantanee da conservare, anche se sono più vecchie del periodo di conservazione. Il valore predefinito è `5`. 
+ cleanExpiredFiles — Un valore booleano che indica se eliminare i file di dati scaduti dopo la scadenza delle istantanee. Il valore predefinito è `true`. 

   Se impostato su true, gli snapshot più vecchi vengono rimossi dai metadati della tabella e i relativi file sottostanti vengono eliminati. Se questo parametro è impostato su false, gli snapshot più vecchi vengono rimossi dai metadati della tabella ma i relativi file sottostanti rimangono nell'archivio come file orfani. 

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

Per aggiornare un ottimizzatore di tabelle, si può utilizzare l'API `UpdateTableOptimizer`. Questa API consente di aggiornare la configurazione di un ottimizzatore di tabelle esistente per la compattazione, la conservazione o la rimozione di file orfani. I parametri della richiesta includono:
+ catalogId (obbligatorio): l'ID del catalogo contenente la tabella 
+  databaseName (opzionale): il nome del database contenente la tabella 
+  tableName (opzionale): il nome della tabella 
+  type (obbligatorio): il tipo di ottimizzatore della tabella (compattazione, conservazione o orphan\$1file\$1delete) 
+  retentionConfiguration (obbligatorio): la configurazione aggiornata per l'ottimizzatore delle tabelle, che include l'ARN del ruolo, lo stato di abilitazione, la configurazione di conservazione e la configurazione per la rimozione dei file orfani. 

------

# Disabilitazione dell'ottimizzatore per la conservazione degli snapshot
<a name="disable-snapshot-retention"></a>

 È possibile disabilitare l'ottimizzatore di conservazione delle istantanee per una particolare tabella Apache Iceberg utilizzando la console o. AWS Glue AWS CLI

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

**Per disabilitare la conservazione degli snapshot**

1. Accedi a Console di gestione AWS e apri la console all'indirizzo. AWS Glue [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)

1. Scegliere **Catalogo dati** e poi **Tabelle**. Dall'elenco delle tabelle, seleziona la tabella Iceberg per la quale vuoi disabilitare l'ottimizzatore per la conservazione degli snapshot.

1. Nella parte inferiore della pagina **Dettagli tabella**, seleziona **Ottimizzazione tabella** e **Disabilita**, **Conservazione snapshot** in **Azioni**.

   Puoi anche scegliere **Disabilita** in **Ottimizzazione** dal menu **Azioni** situato nell'angolo in alto a destra della pagina.

1.  Scegli **Disabilita ** nel messaggio di conferma. Potrai riattivare l'ottimizzatore di conservazione degli snapshot in un secondo momento. 

    Dopo la conferma, l'ottimizzatore di conservazione degli snapshot viene disabilitato e lo stato di conservazione degli snapshot torna su `Not enabled`.

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

Nell'esempio seguente, sostituisci l'ID account con un ID AWS account valido. Sostituisci il nome del database e della tabella con quello effettivo della tabella Iceberg e del database. Sostituisci `roleArn` con il nome della AWS risorsa (ARN) del ruolo IAM e il nome effettivo del ruolo IAM che dispone delle autorizzazioni necessarie per eseguire l'ottimizzatore della conservazione.

```
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 ]

[UpdateTableOptimizer](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-table-optimizers.html#aws-glue-api-table-optimizers-UpdateTableOptimizer)Operazione di chiamata per disabilitare l'ottimizzatore di conservazione delle istantanee per una tabella specifica.

------

# Eliminazione di file orfani
<a name="orphan-file-deletion"></a>

 AWS Glue Data Catalog ti permette di rimuovere file orfani dalle tue tabelle Iceberg. I file orfani sono file non referenziati presenti nell'origine dati di Amazon S3 nella posizione della tabella specificata, non sono tracciati dai metadati della tabella Iceberg e sono più vecchi del limite di età configurato. Questi file orfani possono accumularsi nel tempo a causa di errori in operazioni come compattazione, cali di partizione o riscritture di tabelle, e occupare spazio di archiviazione non necessario.

L'ottimizzatore per l'eliminazione dei file AWS Glue orfani analizza i metadati della tabella e i file di dati effettivi, identifica i file orfani e li elimina per recuperare spazio di archiviazione. L'ottimizzatore rimuove solo i file creati dopo la data di creazione dell'ottimizzatore che soddisfano anche i criteri di eliminazione configurati. I file creati prima o alla data di creazione dell'ottimizzatore non vengono mai eliminati.

**Logica di eliminazione dei file orfani**

1. Controllo della data: confronta la data di creazione del file con quella di creazione dell'ottimizzatore. Se il file è precedente o contemporaneo alla data di creazione dell'ottimizzatore, il file viene ignorato.

1. Controllo della configurazione dell'ottimizzatore: se il file è più recente della data di creazione dell'ottimizzatore, valuta il file rispetto al limite di età configurato. L'ottimizzatore elimina il file se soddisfa i criteri di eliminazione. Ignora il file, se non corrisponde ai criteri.

 È possibile avviare l'eliminazione dei file orfani creando un ottimizzatore di tabelle per l'eliminazione dei file orfani nel catalogo dati.

**Importante**  
 Per impostazione predefinita, l'eliminazione dei file orfani valuta i file in tutta la posizione della tabella. AWS Glue Sebbene sia possibile configurare un prefisso secondario per limitare l'ambito di valutazione utilizzando il parametro API, è necessario assicurarsi che la posizione della tabella non contenga file provenienti da altre origini dati o tabelle. Se la posizione della tabella si sovrappone ad altre origini dati, il servizio potrebbe identificare ed eliminare i file non correlati come orfani. 

**Topics**
+ [

# Attivazione dell'eliminazione di file orfani
](enable-orphan-file-deletion.md)
+ [

# Aggiornamento dell'ottimizzatore per l'eliminazione dei file orfani
](update-orphan-file-deletion.md)
+ [

# Disabilitazione dell'eliminazione di file orfani
](disable-orphan-file-deletion.md)

# Attivazione dell'eliminazione di file orfani
<a name="enable-orphan-file-deletion"></a>

 Puoi utilizzare la AWS Glue console o l' AWS API per abilitare l'eliminazione di file orfani per le tue tabelle Apache Iceberg nel Data Catalog. AWS CLI Per le nuove tabelle, puoi scegliere Apache Iceberg come formato di tabella e abilitare l'ottimizzatore dell'eliminazione dei file orfani quando crei la tabella. La conservazione degli snapshot è disabilitata per impostazione predefinita per le nuove tabelle.

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

**Abilitazione dell'eliminazione di file orfani**

1.  Apri la AWS Glue console all'indirizzo [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)e accedi come amministratore del data lake, creatore della tabella o utente a cui sono state concesse `lakeformation:GetDataAccess` le autorizzazioni `glue:UpdateTable` e sulla tabella. 

1. Nel pannello di navigazione, in **Catalogo dati**, seleziona **Tabelle**.

1. Nella pagina **Tabelle**, scegli una tabella Iceberg in cui desideri abilitare l'eliminazione dei file orfani.

   Scegli la scheda **Ottimizzazione della tabella** nella sezione inferiore della pagina e scegli **Abilita**, **Eliminazione dei file orfani** da **Azioni**. 

   Puoi anche scegliere **Abilita** in **Ottimizzazione** dal menu **Azioni** situato nell'angolo in alto a destra della pagina.

1. Nella pagina **Abilita ottimizzazione**, scegli **Eliminazione dei file orfani** in **Opzioni di ottimizzazione**.

1. Se scegli di utilizzare le **Impostazioni predefinite**, tutti i file orfani verranno eliminati dopo 3 giorni. Se desideri conservare i file orfani per un numero specifico di giorni, scegli **Personalizza impostazioni**.

1. Quindi, scegli un ruolo IAM con le autorizzazioni necessarie per eliminare i file orfani.

1. Se hai configurazioni di policy di sicurezza in cui l'ottimizzatore di tabelle Iceberg deve accedere ai bucket Amazon S3 da uno specifico Virtual Private Cloud (VPC), crea una connessione di rete o usane una esistente. AWS Glue 

   Se non hai già configurato una connessione AWS Glue VPC, creane una nuova seguendo i passaggi nella sezione [Creazione di connessioni per connettori](https://docs.aws.amazon.com/glue/latest/dg/creating-connections.html) utilizzando la AWS Glue console o /SDK. AWS CLI

1. Se scegli **Personalizza impostazioni**, inserisci il numero di giorni durante cui mantenere i file prima dell'eliminazione in **Configurazione dell'eliminazione dei file orfani**. Puoi anche specificare l'intervallo tra due esecuzioni consecutive dell'ottimizzatore. Il valore predefinito è 24 ore.

1. Scegli **Abilita ottimizzazione**.

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

 Per abilitare l'eliminazione di file orfani per una tabella Iceberg in AWS Glue, devi creare un ottimizzatore di tabella di tipo `orphan_file_deletion` e impostare il campo su true. `enabled` Per creare un ottimizzatore di eliminazione di file orfano per una tabella Iceberg utilizzando il AWS CLI, è possibile utilizzare il seguente comando:

```
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
```

 Questo comando crea un ottimizzatore per l'eliminazione dei file orfani per la tabella Iceberg specificata. I parametri chiave sono:
+ roleARN: l'ARN del ruolo IAM con autorizzazioni di accesso al bucket S3 e alle risorse Glue.
+ enabled: impostare su true per abilitare l'ottimizzatore.
+ orphanFileRetentionPeriodInDays — Il numero di giorni per conservare i file orfani prima di eliminarli (minimo 1 giorno).
+ type: imposta su orphan\$1file\$1deletion per creare un ottimizzatore per l'eliminazione dei file orfani.

 Dopo averlo creato, l'ottimizzatore di tabelle, eseguirà periodicamente l'eliminazione dei file orfani (una volta al giorno se lasciato abilitato). Puoi controllare le esecuzioni utilizzando l'`list-table-optimizer-runs`API. Il processo di eliminazione dei file orfani identificherà ed eliminerà i file che non sono tracciati nei metadati Iceberg per la tabella.

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

[CreateTableOptimizer](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-table-optimizers.html#aws-glue-api-table-optimizers-CreateTableOptimizer)Operazione di chiamata per creare l'ottimizzatore per l'eliminazione dei file orfani per una tabella specifica.

------

# Aggiornamento dell'ottimizzatore per l'eliminazione dei file orfani
<a name="update-orphan-file-deletion"></a>

 È possibile modificare la configurazione dell'ottimizzatore per l'eliminazione dei file orfani, ad esempio modificando il periodo di conservazione per i file orfani o il ruolo IAM utilizzato dall'ottimizzatore tramite AWS Glue console o l'operazione AWS CLI. `UpdateTableOptimizer` 

------
#### [ Console di gestione AWS ]

**Per aggiornare l'ottimizzatore per l'eliminazione dei file orfani**

1.  Scegliere **Catalogo dati** e poi **Tabelle**. Dall'elenco delle tabelle, selezionare la tabella in cui aggiornare la configurazione dell'ottimizzatore per l'eliminazione dei file orfani.

1. Nella parte inferiore della pagina **Dettagli tabella**, scegliere **Ottimizzazione tabella**, poi scegliere **Modifica**. 

1.  Nella pagina **Modifica ottimizzazione**, apportare le modifiche desiderate. 

1.  Scegli **Save** (Salva). 

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

 È possibile utilizzare la `update-table-optimizer` chiamata per aggiornare l'ottimizzatore per l'eliminazione dei file orfani in AWS Glue, è possibile utilizzare call. Ciò consente di modificare `OrphanFileDeletionConfiguration` nel campo `icebergConfiguration` in cui è possibile specificare il `OrphanFileRetentionPeriodInDays` aggiornato per impostare il numero di giorni in cui mantenere i file orfani, per specificare la posizione della tabella Iceberg da cui eliminare questi ultimi. 

```
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 ]

Richiama l'[UpdateTableOptimizer](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-table-optimizers.html#aws-glue-api-table-optimizers-UpdateTableOptimizer)operazione per aggiornare l'ottimizzatore per la cancellazione dei file orfani per una tabella.

------

 

# Disabilitazione dell'eliminazione di file orfani
<a name="disable-orphan-file-deletion"></a>

 È possibile disabilitare l'ottimizzatore di eliminazione dei file orfani per una particolare tabella Apache Iceberg utilizzando la console o. AWS Glue AWS CLI

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

**Per disabilitare l'eliminazione di file orfani**

1. Scegliere **Catalogo dati** e poi **Tabelle**. Dall'elenco delle tabelle, seleziona la tabella Iceberg per la quale vuoi disabilitare l'ottimizzatore per l'eliminazione dei file orfani.

1. Nella parte inferiore della pagina **Dettagli tabella**, seleziona la scheda **Ottimizzazione tabella**.

1. Scegli **Azioni**, quindi seleziona **Disabilita**, **Eliminazione file orfani**.

   Puoi anche selezionare **Disabilita** in **Ottimizzazione** dal menu **Azioni**.

1.  Scegli **Disabilita ** nel messaggio di conferma. Potrai riattivare l'ottimizzatore per l'eliminazione dei file orfani in un secondo momento. 

    Dopo la conferma, l'ottimizzatore per l'eliminazione dei file orfani viene disabilitato e lo stato dell'eliminazione dei file orfani torna su `Not enabled`.

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

Nell'esempio seguente, sostituisci l'ID dell'account con un ID account valido. AWS Sostituisci il nome del database e della tabella con quello effettivo della tabella Iceberg e del database. Sostituisci `roleArn` con il nome della AWS risorsa (ARN) del ruolo IAM e il nome effettivo del ruolo IAM che dispone delle autorizzazioni necessarie per disabilitare l'ottimizzatore.

```
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 ]

Richiama l'[UpdateTableOptimizer](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-table-optimizers.html#aws-glue-api-table-optimizers-UpdateTableOptimizer)operazione per disabilitare l'ottimizzatore di conservazione delle istantanee per una tabella specifica.

------

# Visualizzazione dei dettagli dell'ottimizzazione
<a name="view-optimization-status"></a>

È possibile visualizzare lo stato di ottimizzazione per le tabelle Apache Iceberg nella AWS Glue console o utilizzando AWS CLI le operazioni AWS API. 

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

**Per visualizzare lo stato di ottimizzazione per le tabelle Iceberg (console)**
+ **È possibile visualizzare lo stato di ottimizzazione per le tabelle Iceberg sulla AWS Glue console scegliendo una tabella Iceberg dall'elenco **Tabelle** in Data Catalog.** In **Ottimizzazione delle tabelle**. Scegliere **Visualizza tutto**  
![\[Pagina dei dettagli della tabella Apache Iceberg con l'opzione Abilita compattazione.\]](http://docs.aws.amazon.com/it_it/glue/latest/dg/images/table-list-compaction-status.png)

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

È possibile visualizzare i dettagli di ottimizzazione utilizzando. AWS CLI

Negli esempi seguenti, sostituisci l'ID account con un ID AWS account valido, il nome del database e il nome della tabella con il nome effettivo della tabella Iceberg. Per `type`, fornire un tipo di ottimizzazione. I valori accettabili sono `compaction`, `retention` e `orphan-file-deletion`.
+ **Per ottenere i dettagli dell'ultima esecuzione di compattazione per una tabella**

  ```
  aws get-table-optimizer \
    --catalog-id 123456789012 \
    --database-name iceberg_db \
    --table-name iceberg_table \
    --type compaction
  ```
+ Utilizza l'esempio seguente per recuperare la cronologia di un ottimizzatore per una tabella specifica.

  ```
  aws list-table-optimizer-runs \
    --catalog-id 123456789012 \
    --database-name iceberg_db \
    --table-name iceberg_table \
    --type compaction
  ```
+ L'esempio seguente mostra come recuperare l'esecuzione dell'ottimizzazione e i dettagli di configurazione per più ottimizzatori. È possibile specificare un massimo di 20 ottimizzatori.

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

------
#### [ API ]
+ Usare l'operazione `GetTableOptimizer` per recuperare i dettagli dell'ultima esecuzione di un ottimizzatore. 
+  Usare l'operazione `ListTableOptimizerRuns` per recuperare la cronologia di un determinato ottimizzatore su una tabella specifica. È possibile specificare 20 ottimizzatori in una singola chiamata API. 
+ Utilizzate l'[BatchGetTableOptimizer](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-table-optimizers.html#aws-glue-api-table-optimizers-BatchGetTableOptimizer)operazione per recuperare i dettagli di configurazione per più ottimizzatori nel vostro account. 

------

# Visualizzazione delle Amazon CloudWatch metriche
<a name="view-optimization-metrics"></a>

 Dopo aver eseguito correttamente gli ottimizzatori delle tabelle, il servizio crea parametri Amazon CloudWatch sulle prestazioni del processo di ottimizzazione. **Puoi andare su **CloudWatch Metriche e scegliere Metriche**, Tutte le **metriche**.** Puoi filtrare le metriche in base allo spazio dei nomi specifico (ad esempio AWS Glue), al nome della tabella o al nome del database.

 Per ulteriori informazioni, consultare [Visualizzazione di parametri disponibili](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/viewing_metrics_with_cloudwatch.html) nella *Guida per l'utente di Amazon CloudWatch *. 

****Compattazione****
+ Numero di byte compattati 
+ Numero di file compattati
+ Numero di DPU assegnate al processo 
+ Durata del processo (ore) 

****Conservazione degli snapshot****
+ Numero di file di dati eliminati 
+ Numero di file manifest eliminati
+ Numero di elenchi Manifest eliminati 
+ Durata del processo (ore)

****Eliminazione di file orfani****
+ Numero di file orfani eliminati 
+ Durata del processo (ore) 

# Eliminazione di un ottimizzatore
<a name="delete-optimizer"></a>

È possibile eliminare un ottimizzatore e i metadati associati per la tabella utilizzando AWS CLI l'operazione AWS API.

Esegui il AWS CLI comando seguente per eliminare la cronologia di ottimizzazione per una tabella. Devi specificare l'ottimizzatore `type` insieme all'ID del catalogo, al nome del database e al nome della tabella. I valori accettabili sono: `compaction`, `retention` e `orphan_file_deletion`.

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

 Usa l'operazione `DeleteTableOptimizer` per eliminare un ottimizzatore per una tabella.

# Considerazioni e limitazioni
<a name="optimizer-notes"></a>

 Questa sezione include gli aspetti da considerare quando si utilizzano ottimizzatori delle tabelle all'interno di AWS Glue Data Catalog. 

## Durata e correttezza
<a name="durability-correctness"></a>

**Posizioni delle tabelle S3:**

Quando più AWS Glue Data Catalog tabelle condividono la stessa posizione Amazon S3 e dispongono di ottimizzatori abilitati, l'ottimizzatore per la conservazione degli snapshot o l'eliminazione di file orfani per una tabella può eliminare i file a cui fa ancora riferimento l'altra tabella. Assicurati che ogni tabella con ottimizzatori abilitati abbia una posizione Amazon S3 unica che non sia condivisa con nessun'altra tabella, incluse le tabelle in database diversi.

**Scadenza del ciclo di vita S3:**

Le regole di scadenza del ciclo di vita di Amazon S3 che si applicano alle posizioni di archiviazione delle tabelle Iceberg possono eliminare file manifest e di dati a cui fanno ancora riferimento gli snapshot attivi. Se il tuo bucket ha regole di scadenza del ciclo di vita, assicurati che escludano il percorso di storage della tabella Iceberg.

## Formati supportati e limitazioni per la compattazione gestita dei dati
<a name="compaction-notes"></a>

La compattazione dei dati supporta diversi tipi di dati e formati di compressione per la lettura e la scrittura di dati, inclusa la lettura di dati da tabelle crittografate.

**Controllo della concorrenza:**

 Apache Iceberg supporta il controllo ottimistico della concorrenza, che consente a più scrittori di eseguire operazioni contemporaneamente. I conflitti vengono rilevati e risolti al momento del commit. Quando lavori con pipeline di streaming, configura le impostazioni di riprova appropriate tramite le proprietà delle tabelle e le impostazioni di compattazione per gestire efficacemente le scritture simultanee. Per una guida dettagliata, consulta il AWS Big Data Blog sulla [gestione delle scritture simultanee](https://aws.amazon.com/blogs/big-data/manage-concurrent-write-conflicts-in-apache-iceberg-on-the-aws-glue-data-catalog/) nelle tabelle Iceberg. 

**Tentativi di compattazione:**

 Quando le operazioni di compattazione falliscono quattro volte consecutive, l'ottimizzazione della tabella AWS Glue del catalogo sospende automaticamente l'ottimizzatore per evitare un consumo non necessario di risorse di elaborazione. Analizzate innanzitutto i log e cercate di capire perché la compattazione fallisce ripetutamente. Per riprendere l'ottimizzazione della compattazione, puoi riattivare l'ottimizzatore tramite la console o l'API. AWS Glue 

 **La compattazione dei dati supporta:**
+ **Crittografia**: la compattazione dei dati supporta solo la crittografia Amazon S3 (SSE-S3) e la crittografia KMS lato server (SSE-KMS).
+ **Strategie di compattazione**: Binpack, sort e ordinamento con ordine Z
+ Puoi eseguire la compattazione dall'account in cui risiede il Catalogo dati quando il bucket Amazon S3 che archivia i dati sottostanti si trova in un altro account. Per eseguire questa azione, il ruolo di compattazione richiede l'accesso al bucket Amazon S3.

 **La compattazione dei dati attualmente non supporta:** 
+ **Compattazione su tabelle con più account**: non è possibile eseguire la compattazione su tabelle con più account.
+ **Compattazione su tabelle con più regioni**: non è possibile eseguire la compattazione su tabelle con più regioni.
+ **Abilitazione della compattazione sui link alle risorse**
+ **Tabelle nella classe di storage Amazon S3 Express One Zone**: non è possibile eseguire la compattazione su Amazon S3 Express One Zone Iceberg Tables. 
+ **La strategia di compattazione con ordine Z non supporta i seguenti tipi di dati:**
  + Decimale
  + TimestampWithoutZone

## Considerazioni sulla conservazione degli snapshot e sugli ottimizzatori di eliminazione di file orfani
<a name="retention-notes"></a>

Le seguenti considerazioni si applicano alla conservazione degli snapshot e agli ottimizzatori di eliminazione di file orfani. 
+ I processi di conservazione degli snapshot e di eliminazione dei file orfani hanno un limite massimo di eliminazione di 1.000.000 di file per esecuzione. Quando si eliminano gli snapshot scaduti, se il numero di file idonei all'eliminazione supera 1.000.000, tutti i file rimanenti oltre tale soglia continueranno a esistere nella tabella di archiviazione come file orfani. 
+ Gli snapshot verranno conservati dall'ottimizzatore di conservazione degli snapshot solo quando entrambi i criteri saranno soddisfatti: il numero minimo di snapshot da conservare e il periodo di conservazione specificato.
+ L'ottimizzatore di conservazione degli snapshot elimina i metadati degli snapshot scaduti da Apache Iceberg, evitando le query temporali per gli snapshot scaduti e, facoltativamente, eliminando i file di dati associati.
+  L'ottimizzatore di eliminazione di file orfani elimina file di metadati e dati orfani a cui non fanno più riferimento i metadati Iceberg se la data di creazione è precedente al periodo di conservazione per l'eliminazione di file orfani dal momento dell'esecuzione dell'ottimizzatore.
+ Apache Iceberg facilita il controllo delle versioni tramite rami e tag, che sono puntatori denominati a stati specifici degli snapshot. Ogni ramo e tag segue il proprio ciclo di vita indipendente, regolato da policy di conservazione definite ai rispettivi livelli. Gli AWS Glue Data Catalog ottimizzatori tengono conto di queste politiche del ciclo di vita, garantendo il rispetto delle regole di conservazione specificate. Le policy di conservazione a livello di ramo e tag hanno la precedenza sulle configurazioni dell'ottimizzatore. 

   Per ulteriori informazioni, consultare [Ramificazione e tagging](https://iceberg.apache.org/docs/nightly/branching/) nella documentazione di Apache Iceberg. 
+ Gli ottimizzatori di conservazione degli snapshot e di eliminazione dei file orfani elimineranno i file idonei alla pulizia in base ai parametri configurati. Migliorare il controllo sull'eliminazione dei file implementando le policy di controllo delle versioni di S3 e del ciclo di vita nei bucket appropriati.

   Per istruzioni dettagliate sulla configurazione del controllo delle versioni e sulla creazione di regole del ciclo di vita, consultare [https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html). 
+  Per una corretta determinazione dei file orfani, assicurarsi che la posizione della tabella e gli eventuali percorsi secondari forniti non si sovrappongano o contengano dati provenienti da altre tabelle o origini dati. Se i percorsi si sovrappongono, si rischia una perdita irreversibile dei dati a causa dell'eliminazione involontaria dei file. 

## Eccezione di debug OversizedAllocationException
<a name="debug-exception"></a>

Per risolvere un'eccezione `OversizedAllocationException`:
+ Ridurre la dimensione del batch del lettore vettorializzato e controllare. La dimensione predefinita del batch è 5000. Questo è controllato in `read.parquet.vectorization.batch-size`.
  + Se non funziona anche dopo molteplici varianti, disattivare la vettorizzazione. Questo è controllato in `read.parquet.vectorization.enabled`.

# Regioni supportate per gli ottimizzatori di tabelle
<a name="regions-optimizers"></a>

Le funzionalità di ottimizzazione delle tabelle (compattazione, conservazione delle istantanee ed eliminazione di file orfani) per AWS Glue Data Catalog sono disponibili nelle seguenti versioni: Regioni AWS
+ Asia Pacifico (Tokyo)
+ Asia Pacifico (Seul)
+ Asia Pacifico (Mumbai)
+ Asia Pacifico (Singapore)
+ Asia Pacifico (Sydney)
+ Asia Pacifico (Giacarta)
+ Canada (Centrale)
+ Europa (Irlanda)
+ Europa (Londra)
+ Europa (Francoforte)
+ Europa (Stoccolma)
+ Stati Uniti orientali (Virginia settentrionale)
+ Stati Uniti orientali (Ohio)
+ Stati Uniti occidentali (Oregon)
+ Sud America (San Paolo)

# Ottimizzazione delle prestazioni delle query per le tabelle Iceberg
<a name="iceberg-column-statistics"></a>

Apache Iceberg è un formato di tabella aperta ad alte prestazioni per enormi set di dati analitici. AWS Glue supporta il calcolo e l'aggiornamento del numero di valori distinti (NDVs) per ogni colonna nelle tabelle Iceberg. Queste statistiche possono facilitare una migliore ottimizzazione delle query, la gestione dei dati e l'efficienza delle prestazioni per gli ingegneri e gli scienziati che lavorano con set di dati su larga scala.

 AWS Glue stima il numero di valori distinti in ogni colonna della tabella Iceberg e li memorizza in file [Puffin](https://iceberg.apache.org/puffin-spec/) su Amazon S3 associati agli snapshot delle tabelle Iceberg. Puffin è un formato di file Iceberg progettato per archiviare metadati come indici, statistiche e schizzi. L'archiviazione degli schizzi in file Puffin collegati alle istantanee garantisce la coerenza transazionale e l'aggiornamento delle statistiche NDV.

Puoi configurare l'esecuzione di un'attività di generazione di statistiche sulle colonne utilizzando la console o. AWS Glue AWS CLI Quando avvii il processo, AWS Glue avvia un job Spark in background e aggiorna i metadati della AWS Glue tabella nel Data Catalog. Puoi visualizzare le statistiche delle colonne utilizzando la AWS Glue console AWS CLI o chiamando l'[GetColumnStatisticsForTable](https://docs.aws.amazon.com/glue/latest/webapi/API_GetColumnStatisticsForTable.html)operazione API.

**Nota**  
Se utilizzi AWS Lake Formation le autorizzazioni per controllare l'accesso alla tabella, il ruolo assunto dall'attività di statistica delle colonne richiede l'accesso completo alla tabella per generare statistiche.

**Topics**
+ [

# Prerequisiti per la generazione delle statistiche delle colonne
](iceberg-column-stats-prereqs.md)
+ [

# Generazione delle statistiche delle colonne delle tabelle Iceberg
](iceberg-generate-column-stats.md)
+ [

## Consulta anche
](#see-also-iceberg-stats)

# Prerequisiti per la generazione delle statistiche delle colonne
<a name="iceberg-column-stats-prereqs"></a>

Per generare o aggiornare le statistiche delle colonne per le tabelle Iceberg, l'attività di generazione delle statistiche assume un ruolo AWS Identity and Access Management (IAM) per conto dell'utente. In base alle autorizzazioni concesse al ruolo, l'attività di generazione delle statistiche delle colonne può leggere i dati dal datastore di Amazon S3.

Quando si configura l'attività di generazione delle statistiche sulle colonne, AWS Glue consente di creare un ruolo che include la politica `AWSGlueServiceRole` AWS gestita più la politica in linea richiesta per l'origine dati specificata. 

Se si specifica un ruolo esistente per la generazione di statistiche delle colonne, bisogna assicurarsi che includa la policy `AWSGlueServiceRole` o equivalente (o una versione ridotta di questa policy), oltre alle policy inline richieste.

Per ulteriori informazioni sulle autorizzazioni richieste, consulta [Prerequisiti per la generazione delle statistiche delle colonne](column-stats-prereqs.md). 

# Generazione delle statistiche delle colonne delle tabelle Iceberg
<a name="iceberg-generate-column-stats"></a>

Segui questi passaggi per configurare una pianificazione per la generazione di statistiche nel Data Catalog utilizzando la AWS Glue console AWS CLI o o esegui l'**StartColumnStatisticsTaskRun**operazione.

**Per generare statistiche sulle colonne**

1. Accedi alla AWS Glue console all'indirizzo [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/). 

1. Scegli **Tabelle** nel Catalogo dati.

1. Scegli una tabella Iceberg dall'elenco. 

1. Scegli **Statistiche colonna**, **Genera su richiesta**, nel menu **Azioni**.

   Puoi anche scegliere il pulsante **Genera statistiche** nella scheda **Statistiche di colonna** nella sezione inferiore della pagina **Tabelle**.

1. Nella pagina **Genera statistiche**, fornisci i dettagli sulla generazione delle statistiche. Segui i passaggi 6-11 della sezione [Generazione di statistiche a colonne in base a una pianificazione](generate-column-stats.md) per configurare una pianificazione per la generazione di statistiche per le tabelle Iceberg. 

   Puoi anche scegliere di generare statistiche sulle colonne su richiesta seguendo le istruzioni contenute in [Generazione di statistiche delle colonne on demand](column-stats-on-demand.md)
**Nota**  
L'opzione di campionamento non è disponibile per le tabelle Iceberg.

   AWS Glue calcola il numero di valori distinti per ogni colonna della tabella Iceberg in un nuovo file Puffin salvato nell'ID snapshot specificato nella tua posizione Amazon S3.

## Consulta anche
<a name="see-also-iceberg-stats"></a>
+ [Visualizzazione delle statistiche delle colonne](view-column-stats.md)
+ [Visualizzazione dell'attività relativa alle statistiche delle colonne](view-stats-run.md)
+ [Interruzione dell'esecuzione relativa alle statistiche delle colonne](stop-stats-run.md)
+ [Eliminazione delle statistiche delle colonne](delete-column-stats.md)