Opzioni di mappatura di colonne - Amazon Redshift

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Opzioni di mappatura di colonne

Per impostazione predefinita, COPY inserisce i valori nelle colonne della tabella di destinazione nello stesso ordine in cui si trovano i campi nei file di dati. Se l'ordine predefinito delle colonne non funziona, puoi specificare un elenco di colonne o utilizzare JSONPath espressioni per mappare i campi di dati di origine alle colonne di destinazione.

Elenco di colonne

È possibile specificare un elenco separato da virgole di nomi di colonna per caricare i campi dati sorgente in specifiche colonne di destinazione. Le colonne possono essere in qualsiasi ordine nell'COPYistruzione, ma quando vengono caricate da file flat, ad esempio in un bucket Amazon S3, il loro ordine deve corrispondere all'ordine dei dati di origine.

Durante il caricamento da una tabella Amazon DynamoDB l'ordine non è importante. Il COPY comando abbina i nomi degli attributi negli elementi recuperati dalla tabella DynamoDB ai nomi delle colonne nella tabella Amazon Redshift. Per ulteriori informazioni, consulta Caricamento di dati da una tabella Amazon DynamoDB

Il formato dell'elenco di colonne è il seguente.

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

Se una colonna nella tabella di destinazione viene omessa dall'elenco delle colonne, COPY carica l'espressione della colonna di destinazione. DEFAULT

Se la colonna di destinazione non ha un valore predefinito, COPY tenta di NULL caricarla.

Se COPY tenta di eseguire l'assegnazione NULL a una colonna definita come NOTNULL, il COPY comando ha esito negativo.

Se una IDENTITY colonna è inclusa nell'elenco delle colonne, EXPLICIT_IDS deve essere specificata anche questa; se una IDENTITY colonna viene omessa, non è IDS possibile specificare EXPLICIT _. Se non viene specificato alcun elenco di colonne, il comando si comporta come se fosse stato specificato un elenco di colonne completo e ordinato, con IDENTITY le colonne omesse se non IDS fosse stato specificato anche EXPLICIT _.

Se una colonna è definita con GENERATED BY DEFAULT ASIDENTITY, può essere copiata. i valori vengono generati o aggiornati con i valori forniti dall'utente. L'IDSopzione EXPLICIT _ non è obbligatoria. COPYnon aggiorna la filigrana Identity High. Per ulteriori informazioni, consulta GENERATED BY DEFAULT AS IDENTITY.

JSONPathsfile

Durante il caricamento da file di dati in JSON formato Avro, mappa COPY automaticamente gli elementi di dati nei dati di origine JSON o Avro alle colonne della tabella di destinazione. Lo fa associando i nomi dei campi nello schema Avro ai nomi delle colonne nella tabella di destinazione o nell'elenco delle colonne.

In alcuni casi, i nomi delle colonne e dei campi non corrispondono o è necessario mappare a livelli più profondi nella gerarchia dei dati. In questi casi, è possibile utilizzare un JSONPaths file per mappare in modo esplicito gli elementi di dati Avro JSON o gli elementi di dati Avro alle colonne.

Per ulteriori informazioni, consulta JSONPathsfile.