COPIA con TEMPLATE - Amazon Redshift

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.

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à.

COPIA con TEMPLATE

È possibile utilizzare i modelli Redshift con comandi COPY per semplificare la sintassi dei comandi e garantire la coerenza tra le operazioni di caricamento dei dati. Invece di specificare ripetutamente gli stessi parametri di formattazione, li definisci una volta in un modello e fai riferimento al modello nei comandi COPY. Quando utilizzate un modello, il comando COPY combina i parametri del modello con tutti i parametri specificati direttamente nel comando. Se lo stesso parametro appare sia nel modello che nel comando, il parametro del comando ha la precedenza. Per ulteriori informazioni, consulta CREARE UN MODELLO.

I modelli per il comando COPY possono essere creati con:

Per un elenco completo dei parametri supportati, vedere COPY comando.

Autorizzazione richiesta

Per utilizzare un modello in un comando COPY, è necessario disporre di:

  • Tutte le autorizzazioni necessarie per eseguire il comando COPY (vediAutorizzazioni richieste)

  • Una delle seguenti autorizzazioni del modello:

    • Privilegi di superutente

    • Privilegio USAGE sul modello e privilegio USAGE sullo schema contenente il modello

Sintassi

COPY target_table FROM 's3://...' authorization [ option, ...] USING TEMPLATE [database_name.][schema_name.]template_name;

Parameters

database_name

(Facoltativo) Il nome del database in cui esiste il modello. Se non specificato, viene utilizzato il database corrente.

schema_name

(Facoltativo) Il nome dello schema in cui esiste il modello. Se non viene specificato, il modello viene cercato nel percorso di ricerca corrente.

nome_modello

Il nome del modello da usare in COPY.

Note per l'utilizzo

  • I parametri specifici del comando (origine, destinazione, autorizzazione) devono ancora essere specificati nel comando COPY.

  • I modelli non possono contenere le specifiche dei file manifest per i comandi COPY.

Esempi

Gli esempi seguenti mostrano come creare un modello e utilizzarlo nei comandi COPY:

CREATE TEMPLATE public.test_template FOR COPY AS CSV DELIMITER '|' IGNOREHEADER 1 MAXERROR 100; COPY public.target_table FROM 's3://amzn-s3-demo-bucket/staging-folder' IAM_ROLE 'arn:aws:iam::123456789012:role/MyLoadRoleName' USING TEMPLATE public.test_template;

Quando un parametro è presente sia nel modello che nel comando, il parametro del comando ha la precedenza. In questo esempio, se il modello public.test_template contiene DELIMITER '|' ma il comando COPY lo specificaDELIMITER ',', verrà utilizzato il delimitatore di virgola (,) del comando anziché il delimitatore pipe () del modello. |

COPY public.target_table FROM 's3://amzn-s3-demo-bucket/staging-folder' IAM_ROLE 'arn:aws:iam::123456789012:role/MyLoadRoleName' DELIMITER ',' USING TEMPLATE public.test_template;