Options de mappage de colonnes - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Options de mappage de colonnes

Par défaut, les valeurs COPY sont insérées dans les colonnes de la table cible dans le même ordre que celui dans lequel les champs apparaissent dans les fichiers de données. Si l'ordre des colonnes par défaut ne fonctionne pas, vous pouvez spécifier une liste de colonnes ou utiliser des JSONPath expressions pour mapper les champs de données source aux colonnes cibles.

Liste de colonnes

Vous pouvez spécifier une liste des noms de colonnes séparés par des virgules pour charger les champs de données source dans des colonnes cible spécifiques. Les colonnes peuvent être dans n'importe quel ordre dans l'COPYinstruction, mais lors du chargement à partir de fichiers plats, par exemple dans un compartiment Amazon S3, leur ordre doit correspondre à celui des données sources.

Lors du chargement d’une table Amazon DynamoDB, l’ordre n’importe pas La COPY commande fait correspondre les noms d'attributs des éléments extraits de la table DynamoDB aux noms de colonnes de la table Amazon Redshift. Pour plus d’informations, consultez Chargement de données à partir d’une table Amazon DynamoDB.

Le format d’une liste de colonnes est le suivant.

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

Si une colonne de la table cible est omise de la liste des colonnes, COPY charge l'DEFAULTexpression de la colonne cible.

Si la colonne cible n'a pas de valeur par défaut, COPY tente de se chargerNULL.

En cas de COPY tentative d'attribution NULL à une colonne définie comme NOTNULL, la COPY commande échoue.

Si une IDENTITY colonne est incluse dans la liste des colonnes, elle EXPLICIT_IDS doit également être spécifiée ; si une IDENTITY colonne est omise, alors EXPLICIT _ ne IDS peut pas être spécifié. Si aucune liste de colonnes n'est spécifiée, la commande se comporte comme si une liste de colonnes complète et ordonnée était spécifiée, les IDENTITY colonnes étant omises si EXPLICIT _ n'IDSétait pas non plus spécifié.

Si une colonne est définie avec GENERATED BY DEFAULT ASIDENTITY, elle peut être copiée. Les valeurs sont générées ou mises à jour avec des valeurs que vous fournissez. L'IDSoption EXPLICIT _ n'est pas obligatoire. COPYne met pas à jour le filigrane supérieur de l'identité. Pour de plus amples informations, veuillez consulter GENERATED BY DEFAULT AS IDENTITY.

JSONPathsfichier

Lors du chargement à partir de fichiers de données au format Avro JSON ou au format Avro, les éléments de données contenus dans les données sources JSON ou Avro sont COPY automatiquement mappés aux colonnes de la table cible. Pour ce faire, elle met en correspondance les noms de champs du schéma Avro avec les noms de colonnes de la liste de tables ou de colonnes cible.

Dans certains cas, vos noms de colonnes et de champs ne correspondent pas, ou vous devez mapper à des niveaux plus profonds de la hiérarchie de données. Dans ces cas, vous pouvez utiliser un JSONPaths fichier pour mapper explicitement des éléments de données Avro à des colonnes. JSON

Pour de plus amples informations, veuillez consulter JSONPathsfichier.