Come posso archiviare l'output di una query Amazon Athena in un formato di dati diverso dal CSV?

2 minuti di lettura
0

Desidero archiviare i risultati delle query Amazon Athena in un formato diverso da CSV, ad esempio JSON o Parquet.

Breve descrizione

Quando si eseguono query SELECT, Athena supporta solo i file di output CSV. Per archiviare l'output di Athena in formati diversi da CSV, scegli una delle seguenti opzioni:

L'istruzione UNLOAD scrive l'output di una query SELECT in numerosi formati di dati, ma non crea una nuova tabella. Anche una query CTAS scrive l'output in diversi formati di dati, ma crea una nuova tabella con quell'output. Sia UNLOAD che CTAS supportano formati quali Apache Parquet, ORC, Apache Avro e JSON.

Nota: sia UNLOAD che CTAS supportano il partizionamento, ma solo CTAS supporta il bucketing.

Risoluzione

Esegui una query UNLOAD

Per utilizzare l'istruzione UNLOAD, inserisci la query SELECT tra parentesi dopo UNLOAD e specifica il tipo di file in un'istruzione WITH. Ad esempio, la seguente query salva l'output di SELECT come file JSON nel bucket Amazon Simple Storage Service (Amazon S3) amzn-s3-example-bucket:

UNLOAD (SELECT col1, col2 FROM example_table)
    TO 's3://amzn-s3-example-bucket/example_folder/'
  WITH (format = 'JSON')

Per ulteriori informazioni su come modificare l'output del file da UNLOAD, consulta Parametri.

Esegui una query CTAS

Per archiviare l'output di una query CTAS in un formato diverso da CSV, configura la proprietà format in un'istruzione WITH. Ad esempio, la seguente query crea una nuova tabella denominata ctas-parquet-example dai dati restituiti da SELECT in formato Parquet:

`CREATE TABLE ctas_parquet_example   WITH (format = '`_`PARQUET`_`')     AS SELECT col1, col2, FROM example_table;`

Per ulteriori informazioni sui parametri CTAS, consulta CTAS table properties.

Se devi conservare solo il file di dati di output e non la nuova tabella, elimina la tabella CTAS una volta completata l’esecuzione della query.

Informazioni correlate

Considerations and limitations for CTAS queries

Examples of CTAS queries

AWS UFFICIALE
AWS UFFICIALEAggiornata un mese fa