Considerazioni e restrizioni per le query SQL in Amazon Athena - Amazon Athena

Considerazioni e restrizioni per le query SQL in Amazon Athena

Quando si eseguono query sulle tabelle Athena, tenere presente le seguenti considerazioni e limitazioni:

  • Procedure archiviate: le procedure archiviate non sono supportate.

  • Numero massimo di partizioni: il numero massimo di partizioni che è possibile creare con le istruzioni CREATE TABLE AS SELECT (CTAS) è 100. Per ulteriori informazioni, consulta CREATE TABLE AS. Per una soluzione alternativa, vedere Utilizzare CTAS e INSERT INTO per aggirare il limite di 100 partizioni.

  • Istruzioni non supportate: le istruzioni non supportate includono le seguenti. Per un elenco delle istruzioni DDL non supportate in Athena, consultare DDL non supportato.

    • CREATE TABLE LIKE non è supportato.

    • DESCRIBE INPUT e DESCRIBE OUTPUT non sono supportate.

    • L'istruzione MERGE è supportata solo per i formati di tabelle transazionali. Per ulteriori informazioni, consulta MERGE INTO.

    • UPDATELe istruzioni non sono supportate.

    • DELETE FROM non è supportato.

  • Connettori Trino e Presto: i connettori Trino e Presto non sono supportati. Utilizzare Amazon Athena Federated Query per collegare le origini dati. Per ulteriori informazioni, consulta Utilizza Amazon Athena Federated Query.

  • Timeout su tabelle con molte partizioni – Athena potrebbe verificarsi un timeout quando si esegue una query su una tabella con molte migliaia di partizioni. Questo può accadere quando la tabella ha molte partizioni che non sono di tipo string. Quando si utilizza il tipo string, Athena elimina le partizioni a livello di metastore. Tuttavia, quando si utilizzano altri tipi di dati, Athena elimina le partizioni a livello di server. Più partizioni hai, più questo processo richiede tempo e più è probabile che le tue query vadano in timeout. Per risolvere questo problema, impostare il tipo di partizione su string in modo che Athena elimini le partizioni a livello di metastore. Ciò riduce il sovraccarico e impedisce il timeout delle query.

  • Supporto per Amazon Glacier: per informazioni sull'esecuzione di query su oggetti Amazon S3 Glacier ripristinati, consultare Eseguire query su oggetti Amazon Glacier ripristinati.

  • File trattati come nascosti – Athena tratta i file sorgenti che iniziano con un trattino basso (_) o un punto (.) come nascosti. Per aggirare questa limitazione, rinominare i file.

  • Limitazione della dimensione di righe o colonne — Le dimensioni di una singola riga o delle relative colonne non può superare i 32 MB. Questo limite può essere superato quando, ad esempio, una riga contiene una singola colonna di 35 MB. Questo è un limite fissato per il servizio che non può essere modificato.

  • Lunghezza massima della riga in un file di testo: la dimensione di una singola riga in un file di testo ha un limite massimo di 200 MB. Il superamento di questo limite può anche produrre il messaggio di errore TextLineLengthLimitExceededException: Too many bytes before newline Per aggirare questa limitazione, assicurarsi di non avere alcuna riga in un file di testo che supera i 200 MB.

  • Massimo clausola LIMIT: il numero massimo di righe che è possibile specificare per la clausola LIMIT è

    9223372036854775807. Quando si utilizza ORDER BY, il numero massimo di righe supportate per la clausola LIMIT è 2147483647. Il superamento di questo limite causa il messaggio di errore NOT_SUPPORTED: ORDER BY LIMIT > 2147483647 is not supported (NOT_SUPPORTED: ORDER BY LIMIT > 2147483647 non è supportato).

  • information_schema: l'interrogazione di information_schema è più performante se disponi di una quantità di metadati AWS Glue da piccola a moderata. Se disponi di una quantità di metadati elevata, possono verificarsi degli errori. Per informazioni sull'interrogazione del database information_schema per i metadati AWS Glue, consulta la sezione Eseguire query sul AWS Glue Data Catalog.

  • Inizializzazioni dell'array: a causa di una limitazione in Java, non è possibile inizializzare un array in Athena con più di 254 argomenti.

  • Colonne di metadati nascoste: le colonne di metadati nascoste Hive o Iceberg, $bucket, $file_modified_time, $file_size e $partition non sono supportate per le visualizzazioni. Per informazioni sull'utilizzo della colonna dei metadati $path in Athena, consulta Ottenere le posizioni dei file per i dati di origine in Amazon S3 .

Per informazioni sulla lunghezza massima della stringa di query, sulle quote per i timeout delle query e sulle quote per il numero attivo di query DML, consulta la sezione Service Quotas (Quote di Servizio).