

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

# Eseguire query su dati di tabelle Iceberg
<a name="querying-iceberg-table-data"></a>

Per eseguire query su un set di dati Iceberg, utilizza una istruzione `SELECT` standard come la seguente. Le query seguono le [specifiche del formato Apache Iceberg v2](https://iceberg.apache.org/spec/#format-versioning) ed eseguono eliminazioni sia merge-on-read di posizione che di uguaglianza.

```
SELECT * FROM [db_name.]table_name [WHERE predicate]
```

Per ottimizzare i tempi delle query, tutti i predicati vengono "spinti" più vicino a dove si trovano i dati.

Per informazioni temporali e di versione, consultare [Eseguire query temporali e di versione](querying-iceberg-time-travel-and-version-travel-queries.md).

## Creare ed eseguire di query sulle viste con le tabelle Iceberg
<a name="querying-iceberg-views"></a>

Per creare ed eseguire query sulle viste Athena sulle tabelle Iceberg, utilizza le viste `CREATE VIEW` come descritto nella pagina [Utilizzo delle viste](views.md).

Esempio:

```
CREATE VIEW view1 AS SELECT * FROM iceberg_table
```

```
SELECT * FROM view1 
```

Se desideri utilizzare le [specifiche di visualizzazione Iceberg](https://github.com/apache/iceberg/blob/master/format/view-spec.md) per creare viste, contatta [athena-feedback@amazon.com](mailto:athena-feedback@amazon.com). 

## Eseguire query sui metadati di tabelle Iceberg
<a name="querying-iceberg-table-metadata"></a>

In una `SELECT` query, è possibile utilizzare le seguenti proprietà dopo aver *table\$1name* interrogato i metadati della tabella Iceberg:
+ **\$1files**: mostra i file di dati correnti di una tabella.
+ **\$1manifests**: mostra i manifesti dei file correnti di una tabella.
+ **\$1history**: mostra la cronologia di una tabella.
+ **\$1partitions**: mostra le partizioni correnti di una tabella.
+ **\$1snapshots**: mostra gli snapshot di una tabella.
+ **\$1refs**: mostra i riferimenti di una tabella.

### Esempi
<a name="querying-iceberg-table-metadata-syntax"></a>

La seguente dichiarazione elenca i file di una tabella Iceberg.

```
SELECT * FROM "dbname"."tablename$files"
```

L'istruzione seguente elenca i manifesti di una tabella Iceberg.

```
SELECT * FROM "dbname"."tablename$manifests" 
```

La seguente dichiarazione mostra la cronologia di una tabella Iceberg.

```
SELECT * FROM "dbname"."tablename$history"
```

L'esempio seguente mostra una partizione di una tabella Iceberg.

```
SELECT * FROM "dbname"."tablename$partitions" 
```

L'esempio seguente elenca le istantanee di una tabella Iceberg.

```
SELECT * FROM "dbname"."tablename$snapshots" 
```

L'esempio seguente mostra un riferimento per una tabella Iceberg.

```
SELECT * FROM "dbname"."tablename$refs" 
```

## Utilizzare il controllo granulare degli accessi di Lake Formation
<a name="querying-iceberg-working-with-lf-fgac"></a>

La versione 3 del motore Athena supporta il controllo granulare degli accessi Lake Formation con le tabelle Iceberg, incluso il controllo degli accessi con sicurezza a livello di colonna e riga. Questo controllo dell'accesso funziona con le query temporali e con le tabelle che hanno eseguito l'evoluzione dello schema. Per ulteriori informazioni, consulta [Controllo granulare degli accessi di Lake Formation e gruppi di lavoro Athena](lf-athena-limitations.md#lf-athena-limitations-fine-grained-access-control).

Se hai creato la tabella Iceberg al di fuori di Athena, utilizza l'[SDK di Apache Iceberg](https://iceberg.apache.org/releases/) versione 0.13.0 o successiva in modo che le informazioni della colonna della tabella Iceberg siano inserite nel AWS Glue Data Catalog. Se la tua tabella Iceberg non contiene informazioni sulle colonne in AWS Glue, puoi utilizzare l'istruzione [ALTER TABLE SET TBLPROPERTIES](querying-iceberg-alter-table-set-properties.md) Athena o l'ultimo Iceberg SDK per correggere la tabella e aggiornare le informazioni sulle colonne in. AWS Glue