Ich möchte mit dem Befehl COPY eine .csv-Datei von Amazon Simple Storage Service (Amazon S3) in Amazon Redshift laden. Die Datei enthält Datensätze. Der Befehl lädt die Datei jedoch nicht und gibt keinen Fehler zurück.
Lösung
Wenn die .csv-Datei Zeilenumbrüche als Zeilenendezeichen verwendet, kann COPY keine Daten in Amazon Redshift laden. Zu den Zeilenumbrüchen zählen „\\r“, „^M“ und „0x0D“ als Hexadezimalwert.
Da Amazon Redshift Zeilenumbrüche nicht als Zeilenendezeichen erkennt, analysiert Amazon Redshift die Datei als eine Zeile. Wenn du den IGNOREHEADER-Parameter** im **COPY-Befehl auf eine Zahl ungleich Null setzt, überspringt Amazon Redshift die erste Zeile. Und damit überspringt Amazon Redshift auch die gesamte Datei. Der Befehl gibt keine Ladefehler zurück, da der Vorgang technisch erfolgreich ist.
Ersetze zur Lösung dieses Problems die Zeilenumbrüche durch CRLF („\\r\\n“ oder „0x0D0A“ in Hexadezimal) oder LF („\\n“ oder „0x0A“ in Hexadezimal). Lade die geänderte Datei in den S3-Bucket hoch und versuche dann erneut, den Befehl COPY auszuführen.
Wenn die Probleme nach dem Austausch der Zeilenumbrüche fortbestehen, gehe wie folgt vor:
Ähnliche Informationen
Datenquellen
COPY-Beispiele