Caricamento dei dati in Amazon Redshift - Amazon Redshift

Amazon Redshift non supporterà più la creazione di nuove UDF Python a partire dal 1º novembre 2025. Se desideri utilizzare le UDF Python, creale prima di tale data. Le UDF Python esistenti continueranno a funzionare normalmente. Per ulteriori informazioni, consulta il post del blog.

Caricamento dei dati in Amazon Redshift

Sono disponibili diversi modi per caricare i dati in un database Amazon Redshift. Una delle origini di dati popolari da caricare sono i file Amazon S3. Nella tabella seguente sono riepilogati alcuni dei metodi da utilizzare con l’avvio da un’origine Amazon S3.

Metodo da usare Descrizione Quando è necessario un metodo

COPY command (Comando COPY)

Esegue un’importazione di file in batch per caricare i dati dai file Amazon S3. Questo metodo sfrutta le funzionalità di elaborazione parallela di Amazon Redshift. Per ulteriori informazioni, consulta Caricamento delle tabelle con il comando COPY.

Utilizzalo quando sono necessari requisiti di base per il caricamento dei dati per avviare manualmente l’importazione di file in batch. Questo metodo viene usato principalmente con pipeline di importazione di file personalizzate e di terze parti o carichi di lavoro di importazione di file una tantum o ad hoc.

Comando COPY... CREATE JOB (copia automatica)

Esegue automaticamente i comandi COPY quando viene creato un nuovo file nei percorsi monitorati di Amazon S3. Per ulteriori informazioni, consulta Creare un’integrazione di eventi S3 per copiare automaticamente i file dai bucket Amazon S3.

Utilizzalo quando una pipeline di importazione di file deve importare automaticamente i dati quando viene creato un nuovo file in Amazon S3. Amazon Redshift consente di tenere traccia dei file importati per prevenire la duplicazione dei dati. Questo metodo richiede la configurazione da parte dei proprietari di bucket Amazon S3.

Caricamento da query sui data lake

Crea tabelle esterne per eseguire query sui data lake per i file Amazon S3, quindi esegui il comando INSERT INTO per caricare i risultati delle query sui data lake nelle tabelle locali. Per ulteriori informazioni, consulta Tabelle esterne per Redshift Spectrum.

Utilizzalo in uno dei seguenti scenari:

  • Caricamento da AWS Glue e formati di tabelle aperte (come Apache Iceberg, Apache Hudi o Delta Lake).

  • I file di origine devono essere importati parzialmente (ad esempio, necessari per eseguire una clausola WHERE per importare righe particolari).

  • È necessaria una maggiore flessibilità per importare colonne particolari (ad esempio, l’esecuzione di un comando SELECT) o una trasformazione dei dati di base in movimento (come l’applicazione delle operazioni di base o la chiamata delle UDF per i valori del file di origine).

Altri metodi da prendere in considerazione

Importazione di dati in streaming

L’importazione in streaming comporta l’importazione a bassa latenza e ad alta velocità di dati del flusso dal flusso di dati Amazon Kinesis e da Streaming gestito da Amazon per Apache Kafka in una vista materializzata con provisioning Amazon Redshift o una vista materializzata Redshift serverless. Per ulteriori informazioni, consulta Nozioni di base sull'importazione dati in streaming da Amazon Kinesis Data Streams e Nozioni di base sull’importazione in streaming da origini Apache Kafka.

Prendilo in considerazione per i casi d’uso in cui i dati vengono prima trasmessi in streaming in file in Amazon S3 e poi caricati da Amazon S3. Se non è necessario conservare i dati in Amazon S3, spesso puoi prendere in considerazione lo streaming dei dati direttamente in Amazon Redshift.

Esecuzione di query sui data lake

Esecuzione di query direttamente da una tabella di data lake anziché importazione dei contenuti della tabella in una tabella locale. Per ulteriori informazioni, consulta Amazon Redshift Spectrum.

Utilizzalo quando il caso d’uso non richiede le prestazioni delle query su tabelle locali in Amazon Redshift.

Caricamento in batch con Amazon Redshift Query Editor V2

Puoi preparare ed eseguire i carichi di lavoro di importazione di file in batch in modo visivo in Amazon Redshift Query Editor V2. Per ulteriori informazioni, consulta Caricamento di dati da Amazon S3 nella Guida alla gestione di Amazon Redshift.

Utilizzalo quando desideri che Query Editor V2 prepari le istruzioni COPY e desideri uno strumento visivo per semplificare il processo di preparazione delle istruzioni COPY.

Caricare i dati da un file locale tramite Amazon Redshift Query Editor V2

Puoi caricare i file direttamente dal desktop nelle tabelle Amazon Redshift senza dover caricare manualmente i file in Amazon S3. Per ulteriori informazioni, consulta Caricamento di dati da una configurazione di file e da un flusso di lavoro locali nella Guida alla gestione di Amazon Redshift.

Utilizzalo quando hai bisogno di caricare rapidamente i file dal computer locale per eseguire query una tantum. Con questo metodo, Amazon Redshift Query Editor v2 archivia temporaneamente il file in un bucket Amazon S3 di proprietà del cliente ed esegue un comando di copia utilizzando questo percorso di Amazon S3.

Il modo più efficiente per caricare una tabella è il comando COPY. Inoltre, è possibile aggiungere dati alle tabelle usando i comandi INSERT, sebbene sia molto meno efficiente rispetto all'utilizzo di COPY. Il comando COPY è in grado di leggere da più file di dati o più flussi di dati contemporaneamente. Amazon Redshift assegna il carico di lavoro ai nodi Amazon Redshift ed esegue le operazioni di caricamento in parallelo, tra cui l’ordinamento delle righe e la distribuzione dei dati tra le sezioni dei nodi.

Nota

Le tabelle esterne di Amazon Redshift Spectrum sono di sola lettura. Non puoi utilizzare COPY o INSERT in una tabella esterna.

Per accedere ai dati su altre risorse AWS, Amazon Redshift deve disporre dell’autorizzazione ad accedere a tali risorse e a eseguire le azioni necessarie per l’accesso ai dati. Puoi utilizzare AWS Identity and Access Management (IAM) per limitare l’accesso degli utenti alle risorse e ai dati di Amazon Redshift.

Dopo il caricamento iniziale dei dati, se aggiungi, modifichi o elimini una grande quantità di dati, devi eseguire il follow-up tramite un comando VACUUM per riorganizzare i dati e recuperare spazio dopo le eliminazioni. Devi anche eseguire un comando ANALYZE per aggiornare le statistiche della tabella.