Desidero caricare grandi volumi di dati da Amazon Simple Storage Service (Amazon S3) in Amazon Redshift e mantenere prestazioni ottimali.
Breve descrizione
Per aggiungere dati da Amazon S3 a tabelle Amazon Redshift, puoi utilizzare il comando INSERT o COPY. Tuttavia, è consigliabile utilizzare il comando COPY perché è più efficiente. COPY utilizza un'architettura di elaborazione parallela massiva (MPP) per caricare simultaneamente dati da file in un bucket S3.
Per altri metodi utilizzabili, consulta Caricamento di dati in Amazon Redshift.
Risoluzione
Esegui un comando COPY
Esegui un solo comando COPY per caricare una tabella. Se utilizzi più comandi COPY concorrenti per caricare una tabella da più file, Amazon Redshift esegue un caricamento serializzato e potrebbe subire rallentamenti.
Prepara i file di dati
Per utilizzare in modo efficiente il comando COPY, devi anche preparare i file di dati. Il numero di file e le loro dimensioni influiscono sulle capacità di elaborazione parallela.
Se specifichi più file nel comando COPY, Amazon Redshift carica i dati in parallelo. Per preparare i file di dati, assicurati che abbiano all'incirca le stesse dimensioni, entro un intervallo compreso tra 1 MB e 1 GB.
Per un cluster con provisioning Redshift, è consigliabile utilizzare un numero di file multiplo del numero di sezioni. Per Amazon Redshift Serverless, è consigliabile utilizzare un numero di file multiplo di 128. Per ulteriori informazioni, consulta Caricamento di file di dati.
Per ottenere il numero di sezioni per un cluster con provisioning Redshift, esegui questa query:
select count(*) from STV_SLICES where type = 'D';
Nota: quando specifichi un file .csv, Parquet od ORC non compresso nel comando COPY, Amazon Redshift divide i file di dimensioni superiori a 128 MB.
Monitora lo stato del comando COPY
Per visualizzare lo stato del comando COPY, puoi controllare le tabelle di sistema.
Le tabelle di sistema registrano i dettagli del comando COPY, incluso il numero di file, la dimensione di ciascuno e il numero di righe caricate. Puoi monitorare le tabelle per stabilire i miglioramenti che puoi ottenere a livello di prestazioni e la causa di un eventuale errore del comando COPY.
Per ulteriori informazioni sul comando COPY, consulta SYS_LOAD_HISTORY e SYS_LOAD_DETAIL.
Per ulteriori informazioni sugli errori del comando COPY, consulta SYS_LOAD_ERROR_DETAIL.
Informazioni correlate
Best practice di Amazon Redshift per il caricamento di dati
Caricamento delle tabelle con il comando COPY
Caricamento dei dati da file compressi e non compressi