- Ich habe eine CSV-Tabelle (t1) mit Spalten überspringen: c1, c2, c3 in Amazon S3 Speicher
- Ich möchte kopieren, die in amazon Rotverschiebung
- I erstellen Sie die Tabelle mit Spalten: c1, c2, c3, in der alle Spalten auf NULL festlegbare
ich mit dem Befehl kopieren:in Rotverschiebung postgresql kann ich Spalten mit der Kopierfunktion
Kopie t1a (c1, c3) von t1
Ich dachte, es würde c1 und c3 von t1 kopieren und den Standard-Null-Wert in c2 platzieren, so dass eine Zeile in t1a aussehen könnte (c1_rowX, null, c3_rowX).
Stattdessen erhalte ich einen Typfehler, weil es c2 (string type) Daten von t1 in c3 (int Typ) von t1a.
der Kopierbefehl funktioniert gut, wenn ich nicht angeben, die Spalten:
Kopie t1a von t1
ich einen Link zu der Rotverschiebung Kopierbefehl Dokumentation haben:
http://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html
- m Eine Frage ist, gibt es ein Problem mit meiner Verwendung von Spalten angeben. Dank
danke, Craig. In der Hoffnung, das Kopieren der gesamten Datei aufgrund von Größen- und Zeitproblemen zu vermeiden. Kann vor dem Kopieren transformieren. – Elm
amazon bietet Kopiervorlage: COPY tabellenname [(Spalte1 [, Spalte2, ...])] - wobei (Spalte1 [, Spalte2, ...)) "eine optionale Spaltenliste zum Laden von Datenfeldern in bestimmte Spalten angibt" – Elm
@Elm Klar, aber das lässt dich nicht sagen 'COPY tablename (col1, SKIP, col3)' tut es ... und das ist es, was du willst?Selbst wenn Pg unterstützt, dass es immer noch alle Daten übertragen muss, um die Teile, die Sie nicht wollten, zu verwerfen, ist es viel sinnvoller, diese Client-Seite mit einem Vorverarbeitungs-Skript zu machen. –