Caricamento dei dati da file compressi e non compressi - Amazon Redshift

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

Caricamento dei dati da file compressi e non compressi

Quando carichi dati compressi, ti consigliamo di suddividere i dati per ogni tabella in più file. Quando carichi dati non compressi e delimitati, il comando COPY utilizza l'elaborazione massivamente parallela (MPP) e gli intervalli di scansione per caricare dati da file di grandi dimensioni in un bucket Amazon S3.

Caricamento dei dati da più file compressi

Nei casi in cui sono stati compressi dati, ti consigliamo di suddividerli per ogni tabella in più file. Il comando COPY può caricare dati da più file in parallelo. È possibile caricare più file specificando un prefisso comune o chiave di prefisso, per l'insieme o elencando in modo esplicito i file in un file manifest.

Dividi i dati in file in modo che il numero di file sia un multiplo del numero di sezioni nel cluster. In questo modo Amazon Redshift può dividere i dati in modo uniforme tra le sezioni. Il numero di sezioni per nodo dipende dalla dimensione dei nodi del cluster. Ad esempio, ogni nodo di calcolo dc2.large ha due slice e ogni nodo di calcolo dc2.8xlarge ha 16 slice. Per ulteriori informazioni sul numero di sezioni per ogni dimensione di nodo, consulta Informazioni su cluster e nodi nella Guida alla gestione di Amazon Redshift.

Tutti i nodi partecipano all'esecuzione di query parallele, lavorando sui dati di calcolo distribuiti più uniformemente possibile all'interno delle sezioni. Se disponi di un cluster con due nodi dc2.large, potresti suddividere i dati in quattro file o più di quattro. Amazon Redshift non prende in considerazione la dimensione di file nella suddivisione del carico di lavoro. Pertanto, è necessario assicurarsi che i file abbiano approssimativamente le stesse dimensioni, da 1 MB a 1 GB dopo la compressione.

Per utilizzare i prefissi degli oggetti per identificare i file di caricamento, denomina ciascun file con un prefisso comune. Ad esempio, il file venue.txt può essere diviso in quattro file, come segue.

venue.txt.1 venue.txt.2 venue.txt.3 venue.txt.4

Se collochi più file in una cartella nel bucket, specificando il nome della cartella come prefisso, COPY carica tutti i file nella cartella. Se elenchi in modo esplicito i file da caricare tramite un file manifest, i file possono risiedere in diversi bucket o diverse cartelle.

Per ulteriori informazioni sui file manifest, consulta Example: COPY from Amazon S3 using a manifest.

Caricamento di dati da file delimitati e non compressi

Quando carichi dati delimitati e non compressi, il comando COPY utilizza l'architettura MPP (Massively Parallel Processing) di Amazon Redshift. Amazon Redshift utilizza automaticamente le sezioni che lavorano in parallelo per caricare intervalli di dati da un file di grandi dimensioni in un bucket Amazon S3. Il file deve essere delimitato per il caricamento parallelo. Ad esempio, tubo delimitato. Il caricamento automatico dei dati in parallelo con il comando COPY non è disponibile per i file CSV. È possibile utilizzare l'elaborazione parallela impostando le chiavi di distribuzione nelle tabelle. Per ulteriori informazioni sulle chiavi di distribuzione, consulta Utilizzo degli stili di distribuzione dati.

Il caricamento automatico dei dati in parallelo non è supportato se la query COPY include una delle parole chiave ESCAPE, REMOVEQUOTES e FIXEDWIDTH.

I dati dai file vengono caricati nella tabella di destinazione, una riga per riga. I campi nel file di dati corrispondono alle colonne della tabella in ordine, da sinistra a destra. I campi nei file di dati possono essere a larghezza fissa o delimitati da caratteri; il delimitatore predefinito è una barra verticale (|). Per impostazione predefinita, vengono caricate tutte le colonne della tabella, ma è possibile definire facoltativamente un elenco di colonne separato da virgole. Se una colonna della tabella non è inclusa nell'elenco delle colonne specificato nel comando COPY, viene caricata con un valore predefinito. Per ulteriori informazioni, consulta Caricamento dei valori delle colonne predefiniti.

Segui questo procedimento generale per caricare dati da Amazon S3, quando i dati non sono compressi e delimitati:

  1. Caricare i file su Amazon S3.

  2. Esegui un comando COPY per caricare la tabella.

  3. Verifica i dati siano stati caricati correttamente.

Per esempi di comandi COPY, consultare Esempi di COPY. Per informazioni sui dati caricati in Amazon Redshift, consultare le tabelle di sistema STL_LOAD_COMMITS e STL_LOAD_ERRORS.

Per ulteriori informazioni sui nodi e sulle sezioni contenute in ciascun nodo, consulta Informazioni su cluster e nodi nella Guida alla gestione di Amazon Redshift.