Optionen für das Mapping von Spalten - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Optionen für das Mapping von Spalten

COPYFügt standardmäßig Werte in die Spalten der Zieltabelle in derselben Reihenfolge ein, in der die Felder in den Datendateien vorkommen. Wenn die standardmäßige Spaltenreihenfolge nicht funktioniert, können Sie eine Spaltenliste angeben oder JSONPath Ausdrücke verwenden, um Quelldatenfelder den Zielspalten zuzuordnen.

Spaltenliste

Sie können eine durch Komma getrennte Liste von Spaltennamen angeben, um Quelldatenfelder in spezifische Zielspalten zu laden. Die Reihenfolge der Spalten kann in der COPY Anweisung beliebig sein, aber beim Laden aus Flatfiles, z. B. in einem Amazon S3 S3-Bucket, muss ihre Reihenfolge mit der Reihenfolge der Quelldaten übereinstimmen.

Beim Laden aus einer Amazon-DynamoDB-Tabelle spielt die Reihenfolge keine Rolle. Der COPY Befehl ordnet Attributnamen in den aus der DynamoDB-Tabelle abgerufenen Elementen den Spaltennamen in der Amazon Redshift Redshift-Tabelle zu. Weitere Informationen finden Sie unter Laden von Daten aus einer Amazon-DynamoDB-Tabelle

Das Format einer Spaltenliste ist wie folgt.

COPY tablename (column1 [,column2, ...])

Wenn eine Spalte in der Zieltabelle nicht in der Spaltenliste enthalten ist, wird der Ausdruck der Zielspalte COPY geladen. DEFAULT

Wenn die Zielspalte keinen Standardwert hat, wird COPY versucht, sie zu ladenNULL.

Wenn COPY versucht wird, eine Spalte NULL zuzuweisen, die als definiert ist NOTNULL, schlägt der COPY Befehl fehl.

Wenn eine IDENTITY Spalte in der Spaltenliste enthalten ist, EXPLICIT_IDS muss sie ebenfalls angegeben werden. Wenn eine IDENTITY Spalte weggelassen wird, IDS kann EXPLICIT _ nicht angegeben werden. Wenn keine Spaltenliste angegeben ist, verhält sich der Befehl so, als ob eine vollständige, geordnete Spaltenliste angegeben worden wäre, wobei IDENTITY Spalten weggelassen werden, wenn EXPLICIT _ ebenfalls nicht angegeben IDS wurde.

Wenn eine Spalte mit GENERATED BY DEFAULT AS definiert istIDENTITY, kann sie kopiert werden. Die Werte werden mit den von Ihnen angegebenen Werten generiert oder aktualisiert. Die IDS Option EXPLICIT _ ist nicht erforderlich. COPYaktualisiert das Identity-Highwatermark nicht. Weitere Informationen finden Sie unter GENERATED BY DEFAULT AS IDENTITY.

JSONPathsDatei

Ordnet beim Laden aus Datendateien im JSON oder Avro-Format COPY automatisch die Datenelemente in den JSON oder Avro-Quelldaten den Spalten in der Zieltabelle zu. Dies geschieht durch den Abgleich von Feldnamen im Avro-Schema mit den Spaltennamen in der Zieltabelle oder Spaltenliste.

In einigen Fällen werden die Spaltennamen und Feldnamen nicht übereinstimmen oder Sie müssen Zuweisungen tiefer in der Datenhierarchie vornehmen. In diesen Fällen können Sie eine JSONPaths Datei verwenden, um Spalten explizit Avro-Datenelemente zuzuordnenJSON.

Weitere Informationen finden Sie unter JSONPathsDatei.