2017-11-14 3 views
0

ich versucht habe in eine CSV-Datei mit der folgenden Zeile zu laden:Redshift Laden CSV mit Kommas in einem Textfeld

91451960_NE,-1,171717198,50075943,"MARTIN LUTHER KING, JR WAY",1,NE

Hinweis des Komma im Namen. Ich habe alle Möglichkeiten von REMOVEQUOTES, DELIMITER ',' usw. ausprobiert, und keiner von ihnen funktioniert.

Ich habe andere Zeilen mit Anführungszeichen in der Mitte des Namens, so dass die ESCAPE-Option auch da sein muss.

Nach anderen Posts, DELIMITER ',' ESCAPE REMOVEQUOTES IGNOREHEADER 1; sollte funktionieren, aber nicht. Redshift gibt einen Fehler "Delimiter nicht gefunden".

Verursacht der ESCAPE Probleme und muss ich das Komma verlassen?

+0

Könnten Sie bitte Ihre Frage bearbeiten und einige Zeilen von Probeneingabe bereitstellen, der COPY-Befehl Sie und die Fehlermeldung verwendet, die Sie erhalten? Auf diese Weise können wir versuchen, die Situation zu reproduzieren. –

Antwort

0

Ich habe versucht, Ihre Daten mit CSV als Datenformatparameter zu laden, und das hat für mich funktioniert. Bitte beachten Sie, dass CSV nicht mit FIXEDWIDTH, REMOVEQUOTES oder ESCAPE verwendet werden kann.

create TEMP table awscptest (a varchar(40),b int,c bigint,d bigint,e varchar(40),f int,g varchar(10)); 

copy awscptest from 's3://sds-dev-db-replica/test.txt' 
iam_role 'arn:aws:iam::<accounID>:<IAM_role>' 
delimiter as ',' EMPTYASNULL CSV NULL AS '\0'; 

Referenzen: http://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-format.html http://docs.aws.amazon.com/redshift/latest/dg/tutorial-loading-run-copy.html http://docs.aws.amazon.com/redshift/latest/dg/r_COPY_command_examples.html#load-from-csv

Verwandte Themen