

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

# Crea tabelle in Athena
<a name="creating-tables"></a>

Per creare tabelle, puoi eseguire istruzioni DDL nella console Athena, utilizzare il modulo [**Athena Create** table](creating-tables-how-to.md#to-create-a-table-using-the-wizard) o utilizzare un driver JDBC o ODBC. Athena utilizza Apache Hive per definire le tabelle e creare i database, che sono essenzialmente un namespace logico di tabelle. Athena supporta una varietà di librerie serializer-deserializer (SerDe) per la creazione di tabelle per formati di dati specifici. Per un elenco delle librerie supportate, consulta. SerDe [Scegli un file SerDe per i tuoi dati](supported-serdes.md)

Quando si crea un database e una tabella in Athena, si descrivono semplicemente lo schema e il percorso in cui si trovano i dati della tabella in Amazon S3 per l'interrogazione del tempo di lettura. Athena non modifica i tuoi dati in Amazon S3. Il database e la tabella, pertanto, hanno un significato leggermente diverso rispetto ai sistemi di database relazionali, i quanto i dati non sono archiviati con la definizione dello schema per il database e la tabella. 

Athena memorizza lo schema in AWS Glue Data Catalog e lo utilizza per leggere i dati quando si esegue una query sulla tabella utilizzando SQL. Questo *schema-on-read*approccio, che proietta uno schema sui dati quando si esegue una query, elimina la necessità di caricare o trasformare i dati.

## Considerazioni e limitazioni
<a name="creating-tables-considerations-and-limitations"></a>

Di seguito sono riportate alcune importanti limitazioni e considerazioni per le tabelle in Athena.

### Considerazioni su Amazon S3
<a name="s3-considerations"></a>

Quando si crea una tabella, è necessario specificare una posizione del bucket Amazon S3 per i dati sottostanti tramite la clausola `LOCATION`. Considera i seguenti aspetti:
+ Athena è in grado di eseguire la query solamente alla versione più recente di dati su una versione di un bucket Amazon S3 e non è in grado di eseguire la query alle versioni precedenti dei dati.
+ È necessario disporre delle autorizzazioni per lavorare con i dati nella posizione Amazon S3. Per ulteriori informazioni, consulta [Controllo dell’accesso ad Amazon S3 da Athena](s3-permissions.md).
+ Athena supporta le query su oggetti archiviati con più classi di storage nello stesso bucket specificato dalla clausola `LOCATION`. Ad esempio, è possibile eseguire query sui dati in oggetti archiviati in diverse classi di storage (Standard, Standard-IA e Intelligent-Tiering) in Amazon S3.
+ Athena supporta i [bucket con Pagamento a carico del richiedente](https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html). Per informazioni su come abilitare il Pagamento a carico del richiedente per i bucket con dati di origine per i quali intendi eseguire query in Athena, consulta la sezione [Creare un gruppo di lavoro](creating-workgroups.md).
+ Ora puoi usare Amazon Athena per eseguire query su oggetti ripristinati dalle [classi di archiviazione Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html#sc-glacier), S3 Glacier Flexible Retrieval (precedentemente Glacier) e S3 Glacier Deep Archive, ma è necessario abilitare questa funzionalità per ciascuna tabella. Se non abiliti la funzionalità su una tabella prima di eseguire una query, Athena salta tutti gli oggetti Amazon Glacier Flexible Retrieval e Amazon Glacier Deep Archive della tabella. Per ulteriori informazioni, consulta [Eseguire query su oggetti Amazon Glacier ripristinati](querying-glacier.md).

  Per informazioni sulle classi di archiviazione, consulta [Classi di archiviazione](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html), [Modifica della classe di archiviazione di un oggetto in Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/ChgStoClsOfObj.html), [Trasferimento alla classe di archiviazione GLACIER (archiviazione di oggetti)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-transition-general-considerations.html#before-deciding-to-archive-objects) e [Bucket con pagamento a carico del richiedente](https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html) nella *Guida per l’utente di Amazon Simple Storage Service*.
+ Se si esegue le query sui bucket Amazon S3 con un numero elevato di oggetti e i dati non sono partizionati, queste query possono influenzare i limiti del tasso di richieste Get in Amazon S3 e comportare eccezioni Amazon S3. Per evitare errori, partiziona i dati. Inoltre, considera di ottimizzare i tassi di richiesta Amazon S3. Per ulteriori informazioni, consulta [Considerazioni sul tasso di richiesta e sulle prestazioni](https://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html).

Per ulteriori informazioni su come specificare una posizione per i dati in Amazon S3, consulta. [Specificare la posizione di una tabella in Amazon S3](tables-location-format.md)

### Altre considerazioni
<a name="creating-tables-other-considerations"></a>
+ **Le trasformazioni di dati transazionali non sono supportate**: Athena non supporta le operazioni basate su transazioni (ad esempio, quelle che si trovano in Hive o Presto) sulla tabella dei dati. Per un elenco completo di parole chiave non supportate, consulta la sezione [DDL non supportati](unsupported-ddl.md).
+ **Le operazioni sulle tabelle sono ACID**: le operazioni di creazione, aggiornamento ed eliminazione delle tabelle sono conformi ad ACID. Ad esempio, se più utenti o client tentano di creare o modificare una tabella esistente nello stesso momento, solo uno di loro potrà eseguire l'operazione.
+ **Le tabelle sono EXTERNAL**: tranne che durante la creazione di tabelle [Iceberg](querying-iceberg-creating-tables.md), utilizza sempre la parola chiave `EXTERNAL`. Se utilizzi `CREATE TABLE` senza la parola chiave `EXTERNAL` per le tabelle non Iceberg, Athena genera un errore. Quando si elimina una tabella in Athena, solo i metadati della tabella vengono rimossi, mentre i dati rimangono in Amazon S3.
+ Lunghezza **massima della stringa di query: la lunghezza** massima della stringa di query è 256 KB.
+ Se si utilizza l'operazione AWS Glue [CreateTable](https://docs.aws.amazon.com/glue/latest/webapi/API_CreateTable.html)API o il CloudFormation [`AWS::Glue::Table`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html)modello per creare una tabella da utilizzare in Athena senza specificare la `TableType` proprietà e quindi si esegue una query DDL come `SHOW CREATE TABLE` o`MSCK REPAIR TABLE`, è possibile ricevere il messaggio di errore FAILED: NullPointerException  Name is null. 

  [Per risolvere l'errore, specifica un valore per l'[TableInput](https://docs.aws.amazon.com/glue/latest/webapi/API_TableInput.html)`TableType`attributo come parte della chiamata o del modello AWS Glue`CreateTable` API.CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html) I valori possibili per `TableType` includono `EXTERNAL_TABLE` o `VIRTUAL_VIEW`.

  Questo requisito si applica solo quando si crea una tabella utilizzando l'operazione AWS Glue `CreateTable` API o il `AWS::Glue::Table` modello. Se si crea una tabella per Athena utilizzando un'istruzione DDL o un crawler AWS Glue , la proprietà `TableType` viene definita automaticamente. 

**Topics**
+ [Considerazioni e limitazioni](#creating-tables-considerations-and-limitations)
+ [Crea tabelle utilizzando AWS Glue o la console Athena](creating-tables-how-to.md)
+ [Specificare la posizione di una tabella in Amazon S3](tables-location-format.md)
+ [Mostra le informazioni sulla tabella dopo la creazione](creating-tables-showing-table-information.md)