Salta al contenuto

Come posso risolvere i problemi che si verificano quando copio dati da Amazon S3 in Amazon Redshift?

3 minuti di lettura
0

Desidero risolvere gli errori che si verificano quando copio dati da Amazon Simple Storage Service (Amazon S3) in Amazon Redshift.

Risoluzione

Importante: devi associare il ruolo AWS Identity and Access Management (AWS IAM) specificato nel comando COPY al cluster con provisioning di Amazon Redshift o ad Amazon Redshift serverless.

Di seguito sono riportati i problemi che potresti riscontrare quando copi dati da Amazon S3 ad Amazon Redshift.

Il numero e l'ordine delle colonne non corrispondono alla definizione della tabella

Se sono presenti colonne aggiuntive nel file, viene visualizzato il messaggio di errore "Extra column(s) found".

Se nel file sono presenti meno colonne, viene visualizzato il messaggio di errore "Delimiter not found".

Per risolvere questi problemi, assicurati che le colonne del file e la definizione della tabella corrispondano. Per saltare alcune colonne dal file flat, utilizza le opzioni di mappatura delle colonne.

Il tipo di dati non corrisponde alla definizione della tabella

Ad esempio, se il comando COPY tenta di caricare "x" nella colonna definita come INTEGER, ricevi il messaggio "Invalid digit, Value 'x', Pos 0, Type: Integer".

Per risolvere il problema, modifica la definizione del file o della tabella di input in modo che sia coerente. Per ulteriori informazioni, consulta ALTER TABLE.

La lunghezza del testo nel file di dati supera la lunghezza della colonna della tabella

Ad esempio, se il comando COPY tenta di caricare "xxxx" nella colonna definita come VARCHAR (2), ricevi il messaggio di errore "String length exceeds DDL length".

Per risolvere il problema, modifica la definizione del file o della tabella di input in modo che sia coerente. Puoi inoltre utilizzare l'opzione TRUNCATECOLUMNS per troncare i dati e adattarli alla colonna definita.

Caratteri UTF-8 non validi

Il comando COPY supporta solo caratteri UTF-8 lunghi fino a 4 byte.

Se includi un carattere UTF-8 non valido nel file, ricevi il messaggio di errore "String contains invalid or unsupported UTF8 codepoints. Bad UTF8 hex sequence:".

Per risolvere il problema, modifica il file di input in modo che contenga solo caratteri UTF-8 lunghi fino a quattro byte oppure utilizza l'opzione ACCEPTINVCHARS per sostituire i caratteri non validi.

Per ulteriori informazioni, consulta Errori di caricamento di caratteri multibyte.

Nota: per informazioni sugli errori dei comandi COPY, consulta SYS_LOAD_ERROR_DETAIL, SYS_LOAD_HISTORY e SYS_LOAD_DETAIL.

Informazioni correlate

Caricamento di LISTING utilizzando i dati a colonna nel formato Parquet

Preparazione dei dati di input

Best practice di Amazon Redshift per il caricamento di dati

Caricamento delle tabelle con il comando COPY

AWS UFFICIALEAggiornata un anno fa