Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

UNLOAD

Modalità Focus

In questa pagina

UNLOAD - Amazon Athena

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

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

Scrive i risultati delle query da un'istruzione SELECT al formato di dati specificato. I formati supportati per UNLOAD includono Apache ParquetORC, Apache Avro e. JSON CSVè l'unico formato di output supportato dal SELECT comando Athena, ma è possibile utilizzare il UNLOAD comando, che supporta diversi formati di output, per racchiudere la SELECT query e riscriverne l'output in uno dei formati supportati. UNLOAD

Sebbene sia possibile utilizzare l'istruzione CREATE TABLE AS (CTAS) per generare dati in formati diversi da quelliCSV, CTAS le istruzioni richiedono la creazione di una tabella in Athena. L'UNLOADistruzione è utile quando si desidera restituire i risultati di una SELECT query in un CSV formato diverso ma non si desidera la tabella associata. Ad esempio, un'applicazione downstream potrebbe richiedere che i risultati di una SELECT query siano in JSON formato e Parquet o ORC potrebbe fornire un vantaggio in termini di prestazioni rispetto CSV all'utilizzo dei risultati della SELECT query per analisi aggiuntive.

Considerazioni e limitazioni

Quando utilizzi l'istruzione UNLOAD in Athena, devi considerare quanto segue:

  • Nessun ordine globale dei file – I risultati UNLOAD vengono scritti in più file in parallelo. Se la query SELECT nell'istruzione UNLOAD specifica un ordine, il contenuto di ogni file è in ordine ordinato, ma i file non sono ordinati l'uno rispetto all'altro.

  • Dati orfani non eliminati — In caso di guasto, Athena non tenta di eliminare i dati orfani. Questo comportamento è lo stesso di quello delle INSERT INTO istruzioni CTAS and.

  • Partizioni massime: Il numero massimo di partizioni che possono essere utilizzate con UNLOAD è 100.

  • File manifest e metadati — Athena genera un file di metadati e un file manifesto di dati per ogni query UNLOAD. Il manifest tiene traccia dei file scritti dalla query. Entrambi i file vengono salvati nella posizione dei risultati della query Athena in Amazon S3. Per ulteriori informazioni, consulta Identifica i file di output delle query.

  • CrittografiaUNLOAD vengono crittografati in base alla configurazione di crittografia utilizzata per Amazon S3. Per configurare la configurazione di crittografia per crittografare i UNLOAD risultati, è possibile utilizzare il EncryptionConfiguration API.

  • Istruzioni preparateUNLOAD può essere utilizzato con istruzioni preparate. Per informazioni sulle istruzioni preparate in Athena, consulta Usa interrogazioni parametrizzate.

  • Quote di servizio: UNLOAD utilizza le quote di DML query. Per informazioni sulle quote, consulta Service Quotas (Quote di Servizio).

  • Proprietario previsto del bucket: l'impostazione relativa al proprietario previsto del bucket non si applica al percorso del bucket Amazon S3 di destinazione specificato nella query UNLOAD. L'impostazione attesa relativa al proprietario del bucket si applica solo al percorso di output di Amazon S3 specificato per i risultati delle query di Athena. Per ulteriori informazioni, consulta Specificare la posizione dei risultati della query utilizzando la console Athena.

Sintassi

L'istruzione UNLOAD utilizza la sintassi seguente.

UNLOAD (SELECT col_name[, ...] FROM old_table) TO 's3://amzn-s3-demo-bucket/my_folder/' WITH ( property_name = 'expression' [, ...] )

Tranne quando si scrive su partizioni, la TO destinazione deve specificare una posizione in Amazon S3 priva di dati. Prima che la query UNLOAD scrive nella posizione specificata, verifica che la posizione del bucket sia vuota. Poiché UNLOAD non scrive i dati nella posizione specificata se la posizione contiene già dati, UNLOAD non sovrascrive i dati esistenti. Per riutilizzare una posizione bucket come destinazione per UNLOAD, elimina i dati nella posizione del bucket e quindi esegui nuovamente la query.

Tieni presente che quando si UNLOAD scrive su partizioni, questo comportamento è diverso. Se esegui la stessa UNLOAD query più volte con la stessa SELECT istruzione, la stessa TO posizione e le stesse partizioni, ogni UNLOAD query scarica i dati in Amazon S3 nella posizione e nelle partizioni specificate.

Parametri

Valori possibili per property_name sono i seguenti.

formato = 'file_format'

Obbligatorio. Specifica il formato di file dell'output. Valori possibili per file_format sonoORC, PARQUETAVRO,JSON, oTEXTFILE.

compressione = 'compression_format'

Facoltativo. Questa opzione è specifica per i formati ORC e Parquet. PerORC, l'impostazione predefinita èzlib, e per Parquet, l'impostazione predefinita ègzip. Per informazioni sui formati di compressione supportati, consulta Supporto alla compressione Athena.

Nota

Questa opzione non è valida per il formato AVRO. Athena utilizza gzip per i formati JSON e TEXTFILE.

livello_compressione = compression_level

Facoltativo. Il livello di compressione da utilizzare per la compressione. ZSTD Questa proprietà si applica solo alla ZSTD compressione. Per ulteriori informazioni, consulta Usa i livelli di ZSTD compressione.

field_delimiter = 'delimiter'

Facoltativo. Speciifica un delimitatore di campo a carattere singolo per i file in, e altri formati di testo. CSV TSV L'esempio seguente specifica la virgola come separatore decimale.

WITH (field_delimiter = ',')

Attualmente, i delimitatori di campo multicarattere non sono supportati. Se non si specifica un separatore di campo, viene usato il carattere ottale \001 (^A).

ARRAYpartizionato_da = [ col_name[,...] ]

Facoltativo. Un elenco matrice di colonne in base al quale l'output è partizionato.

Nota

Nell'istruzione SELECT, assicurati che i nomi delle colonne partizionate siano elencati per ultimi nell'elenco delle colonne.

Esempi

L'esempio seguente scrive l'output di una SELECT query nella posizione Amazon S3 s3://amzn-s3-demo-bucket/unload_test_1/ utilizzando JSON il formato.

UNLOAD (SELECT * FROM old_table) TO 's3://amzn-s3-demo-bucket/unload_test_1/' WITH (format = 'JSON')

L'esempio seguente scrive l'output di una query SELECT in formato Parquet utilizzando la compressione Snappy.

UNLOAD (SELECT * FROM old_table) TO 's3://amzn-s3-demo-bucket/' WITH (format = 'PARQUET',compression = 'SNAPPY')

Nell'esempio seguente vengono scritte quattro colonne in formato testo, con l'output partizionato dall'ultima colonna.

UNLOAD (SELECT name1, address1, comment1, key1 FROM table1) TO 's3://amzn-s3-demo-bucket/ partitioned/' WITH (format = 'TEXTFILE', partitioned_by = ARRAY['key1'])

L'esempio seguente scarica i risultati della query nella posizione specificata utilizzando il formato di file Parquet, ZSTD la compressione e il livello di ZSTD compressione 4.

UNLOAD (SELECT * FROM old_table) TO 's3://amzn-s3-demo-bucket/' WITH (format = 'PARQUET', compression = 'ZSTD', compression_level = 4)

Risorse aggiuntive

Argomento successivo:

Funzioni

Argomento precedente:

DEALLOCATE PREPARE
PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.