Perché il comando COPY non carica il mio file .csv in Amazon Redshift?

2 minuti di lettura
0

Desidero utilizzare il comando COPY per caricare un file .csv da Amazon Simple Storage Service (Amazon S3) in Amazon Redshift. Il file contiene dei record. Tuttavia, il comando non carica il file né restituisce un errore.

Risoluzione

Se il file .csv utilizza i ritorni a capo come terminatore di riga, COPY non riesce a caricare i dati su Amazon Redshift. I ritorni a capo includono "\\r", "^M" o "0x0D" in formato esadecimale.

Poiché Amazon Redshift non riconosce i ritorni a capo come terminatori di riga, analizza il file come un'unica riga. Quando imposti il parametro IGNOREHEADER su un numero diverso da zero nel comando COPY, Amazon Redshift salta la prima riga. Di conseguenza, in questo caso Amazon Redshift salta l'intero file. Il comando non restituisce errori di caricamento perché l'operazione è tecnicamente riuscita.

Per risolvere il problema, sostituisci i ritorni a capo con CRLF, "\\r\\n" o "0x0D0A" in formato esadecimale, oppure con LF, "\\n" o "0x0A" in formato esadecimale. Carica il file modificato nel bucket S3, quindi esegui il comando COPY.

Se sostituisci i ritorni a capo e continui a riscontrare problemi, intraprendi le seguenti azioni:

Informazioni correlate

Origini dati

Esempi di COPY

AWS UFFICIALE
AWS UFFICIALEAggiornata 20 giorni fa