

 Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il [post del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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
<a name="copy-parameters-column-mapping"></a>

Per impostazione predefinita, COPY inserisce i valori nelle colonne della tabella di destinazione nello stesso ordine in cui i campi vengono visualizzati 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. 
+ [Column List](#copy-column-list)
+ [JSONPaths File](#copy-column-mapping-jsonpaths)

## Elenco di colonne
<a name="copy-column-list"></a>

È 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'istruzione COPY, ma quando si caricano da flat file, come 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 comando COPY fa corrispondere i nomi degli attributi negli elementi recuperati dalla tabella DynamoDB ai nomi di colonna nella tabella Amazon Redshift. Per ulteriori informazioni, consultare [Caricamento di dati da una tabella Amazon DynamoDB](t_Loading-data-from-dynamodb.md)

 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 [DEFAULT](r_CREATE_TABLE_NEW.md#create-table-default) della colonna di destinazione.

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

Se COPY tenta di assegnare NULL a una colonna definita come NOT NULL, il comando COPY non viene eseguito. 

Se una colonna [IDENTITY](r_CREATE_TABLE_NEW.md#identity-clause) è inclusa nell'elenco di colonne, allora è necessario specificare anche [EXPLICIT_IDS](copy-parameters-data-conversion.md#copy-explicit-ids); se viene omessa una colonna IDENTITY, allora EXPLICIT\$1IDS non può essere specificato. Se non è specificato un elenco di colonne, il comando si comporta come se fosse specificato un elenco completo di colonne in ordine, con le colonne IDENTITY omesse se non era specificato anche EXPLICIT\$1IDS.

Se una colonna è definita con GENERATED BY DEFAULT AS IDENTITY, può esser copiata. i valori vengono generati o aggiornati con i valori forniti dall'utente. L'opzione EXPLICIT\$1IDS non è obbligatoria. COPY non aggiorna la filigrana ad elevata identità. Per ulteriori informazioni, consulta [GENERATED BY DEFAULT AS IDENTITY](r_CREATE_TABLE_NEW.md#identity-generated-bydefault-clause). 

## JSONPaths file
<a name="copy-column-mapping-jsonpaths"></a>

Quando si carica da file di dati in formato JSON o Avro, COPY mappa automaticamente gli elementi dei 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, puoi utilizzare un JSONPaths file per mappare in modo esplicito gli elementi di dati JSON o Avro alle colonne. 

Per ulteriori informazioni, consulta [JSONPaths file](copy-parameters-data-format.md#copy-json-jsonpaths). 