

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à.

# Monitoraggio dei carichi di lavoro di Apache Iceberg
<a name="monitoring"></a>

[https://iceberg.apache.org/docs/latest/spark-queries/#inspecting-tables](https://iceberg.apache.org/docs/latest/spark-queries/#inspecting-tables) I reporter di metriche sono stati introdotti nella versione 1.2 di Iceberg e sono disponibili solo per i cataloghi REST e JDBC.

Se lo utilizzi AWS Glue Data Catalog, puoi ottenere informazioni sullo stato delle tue tabelle Iceberg impostando il monitoraggio in aggiunta alle tabelle di metadati esposte da Iceberg.

Il monitoraggio è fondamentale per la gestione delle prestazioni e la risoluzione dei problemi. Ad esempio, quando una partizione in una tabella Iceberg raggiunge una certa percentuale di file di piccole dimensioni, il carico di lavoro può avviare un processo di compattazione per consolidare i file in file più grandi. In questo modo si evita che le query rallentino oltre un livello accettabile.

## Monitoraggio a livello di tabella
<a name="table-level-monitoring"></a>

La schermata seguente mostra una dashboard di monitoraggio delle tabelle creata in Amazon Quick Sight. Questa dashboard interroga le tabelle di metadati di Iceberg utilizzando Spark SQL e acquisisce metriche dettagliate come il numero di file attivi e lo spazio di archiviazione totale. Queste informazioni vengono quindi archiviate in tabelle per scopi operativi. AWS Glue Infine, viene creata una dashboard Quick Sight, come illustrato nella figura seguente, utilizzando Amazon Athena. Queste informazioni ti aiutano a identificare e risolvere problemi specifici nei tuoi sistemi.

![Dashboard Quick Sight per il monitoraggio delle tabelle Iceberg](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/apache-iceberg-on-aws/images/quicksight-table.png)


La dashboard Quick Sight di esempio raccoglie i seguenti indicatori chiave di prestazione (KPIs) per una tabella Iceberg:


| **KPI** | **Descrizione** | **Query** | 
| --- |--- |--- |
| **Numero di file** | Il numero di file nella tabella Iceberg (per tutte le istantanee) | <pre>select count(*) <br />from <catalog.database.table_name>.all_files</pre> | 
| **Numero di file attivi** | Il numero di file attivi nell'ultima istantanea della tabella Iceberg | <pre>select count(*) <br />from <catalog.database.table_name>.files</pre> | 
| **Dimensione media del file** | La dimensione media dei file, in megabyte, per tutti i file della tabella Iceberg | <pre>select avg(file_size_in_bytes)/1000000 <br />from <catalog.database.table_name>.all_files</pre> | 
| **Dimensione media dei file attivi** | La dimensione media dei file, in megabyte, per i file attivi nella tabella Iceberg | <pre>select avg(file_size_in_bytes)/1000000 <br />from <catalog.database.table_name>.files</pre> | 
| **Percentuale di file di piccole dimensioni** | La percentuale di file attivi di dimensioni inferiori a 100 MB | <pre>select cast(sum(case when file_size_in_bytes < 100000000 then 1 else 0 end)*100/count(*) as decimal(10,2)) <br />from <catalog.database.table_name>.files</pre> | 
| **Dimensione totale dello spazio di archiviazione** | La dimensione totale di tutti i file nella tabella, esclusi i file orfani e le versioni degli oggetti Amazon S3 (se abilitate) | <pre>select sum(file_size_in_bytes)/1000000 <br />from <catalog.database.table_name>.all_files</pre> | 
| **Dimensione totale dello storage attivo** | La dimensione totale di tutti i file nelle istantanee correnti di una determinata tabella | <pre>select sum(file_size_in_bytes)/1000000 <br />from <catalog.database.table_name>.files</pre> | 

Per ulteriori informazioni sulla creazione di dashboard, consulta la documentazione di [Quick Sight](https://docs.aws.amazon.com/quicksuite/latest/userguide/quick-bi.html).

## Monitoraggio a livello di database
<a name="database-level-monitoring"></a>

L'esempio seguente mostra una dashboard di monitoraggio creata in Quick Sight per fornire una panoramica a livello di database KPIs per una raccolta di tabelle Iceberg.

![QuickSight dashboard per il monitoraggio a livello di database per Iceberg](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/apache-iceberg-on-aws/images/quicksight-database.png)


Questa dashboard raccoglie quanto segue: KPIs


<table>
<thead>
  <tr><th>**KPI**</th><th>**Descrizione**</th><th>**Query**</th></tr>
</thead>
<tbody>
  <tr><td>**Numero di file**</td><td>Il numero di file nel database Iceberg (per tutte le istantanee)</td><td rowspan="7">Questa dashboard utilizza le query a livello di tabella fornite nella sezione precedente e consolida i risultati.</td></tr>
  <tr><td>**Numero di file attivi**</td><td>Il numero di file attivi nel database Iceberg (basato sulle ultime istantanee delle tabelle Iceberg)</td></tr>
  <tr><td>**Dimensione media del file**</td><td>La dimensione media dei file, in megabyte, per tutti i file del database Iceberg</td></tr>
  <tr><td>**Dimensione media dei file attivi**</td><td>La dimensione media dei file, in megabyte, per tutti i file attivi nel database Iceberg</td></tr>
  <tr><td>**Percentuale di file di piccole dimensioni**</td><td>La percentuale di file attivi di dimensioni inferiori a 100 MB nel database Iceberg</td></tr>
  <tr><td>**Dimensione totale dello spazio di archiviazione**</td><td>La dimensione totale di tutti i file nel database, esclusi i file orfani e le versioni degli oggetti Amazon S3 (se abilitate)</td></tr>
  <tr><td>**Dimensione totale dello storage attivo**</td><td>La dimensione totale di tutti i file nelle istantanee correnti di tutte le tabelle del database</td></tr>
</tbody>
</table>


## Manutenzione preventiva
<a name="preventive-maintenance"></a>

Impostando le funzionalità di monitoraggio illustrate nelle sezioni precedenti, è possibile affrontare la manutenzione delle tabelle da un punto di vista preventivo anziché reattivo. Ad esempio, puoi utilizzare le metriche a livello di tabella e a livello di database per pianificare azioni come le seguenti:
+ Utilizzate la compattazione con imballaggio in contenitori per raggruppare file di piccole dimensioni quando una tabella raggiunge N file di piccole dimensioni.
+ Usa la compressione tramite bin packing per unire i file eliminati quando una tabella raggiunge N, elimina i file in una determinata partizione.
+ Rimuovi i file di piccole dimensioni che erano già compattati rimuovendo le istantanee quando lo spazio di archiviazione totale è X volte superiore allo storage attivo.