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

COPY

Carica i dati in una tabella dai file di dati o da una tabella Amazon DynamoDB. I file possono trovarsi in un bucket Amazon Simple Storage Service (Amazon S3), in un cluster EMR Amazon o in un host remoto a cui si accede tramite una connessione Secure SSH Shell ().

Nota

Le tabelle esterne di Amazon Redshift Spectrum sono di sola lettura. Non puoi accedere COPY a una tabella esterna.

Il COPY comando aggiunge i dati di input come righe aggiuntive alla tabella.

La dimensione massima di una singola riga di input da qualsiasi origine è pari a 4 MB.

Autorizzazioni richieste

Per utilizzare il COPY comando, devi disporre dei INSERT privilegi per la tabella Amazon Redshift.

COPYsintassi

COPY table-name [ column-list ] FROM data_source authorization [ [ FORMAT ] [ AS ] data_format ] [ parameter [ argument ] [, ... ] ]

È possibile eseguire un'COPYoperazione con un minimo di tre parametri: un nome di tabella, un'origine dati e l'autorizzazione ad accedere ai dati.

Amazon Redshift estende la funzionalità del COPY comando per consentire di caricare dati in diversi formati di dati da più fonti di dati, controllare l'accesso ai dati di caricamento, gestire le trasformazioni dei dati e gestire le operazioni di caricamento.

Le seguenti sezioni presentano i parametri di COPY comando richiesti, raggruppando i parametri opzionali per funzione. Gli argomenti successivi descrivono ogni parametro e spiegano come interagiscono le diverse opzioni. Puoi anche andare direttamente alla descrizione di un parametro utilizzando un elenco alfabetico di parametri.

Parametri obbligatori

Il COPY comando richiede tre elementi:

Il COPY comando più semplice utilizza il formato seguente.

COPY table-name FROM data-source authorization;

L'esempio seguente crea una tabella denominataCATDEMO, quindi carica la tabella con dati di esempio da un file di dati in Amazon S3 denominato. category_pipe.txt

create table catdemo(catid smallint, catgroup varchar(10), catname varchar(10), catdesc varchar(50));

Nell'esempio seguente, l'origine dati per il COPY comando è un file di dati denominato category_pipe.txt nella tickit cartella di un bucket Amazon S3 denominato. redshift-downloads Il COPY comando è autorizzato ad accedere al bucket Amazon S3 tramite un ruolo AWS Identity and Access Management ()IAM. Se il tuo cluster ha un IAM ruolo esistente con l'autorizzazione ad accedere ad Amazon S3, puoi sostituire Amazon Resource Name (ARN) del tuo ruolo nel COPY comando seguente ed eseguirlo.

copy catdemo from 's3://redshift-downloads/tickit/category_pipe.txt' iam_role 'arn:aws:iam::<aws-account-id>:role/<role-name>' region 'us-east-1';

Per istruzioni complete su come utilizzare COPY i comandi per caricare dati di esempio, incluse le istruzioni per caricare dati da altre AWS regioni, consulta Load Sample Data from Amazon S3 nella Amazon Redshift Getting Started Guide.

table-name

Il nome della tabella di destinazione per il COPY comando. La tabella deve esistere già nel database. La tabella può essere temporanea o persistente. Il COPY comando aggiunge i nuovi dati di input a tutte le righe esistenti nella tabella.

FROMfonte di dati

La posizione dei dati di origine da caricare nella tabella di destinazione. È possibile specificare un file manifest con alcune origini dati.

Di solito, il repository dei dati più utilizzato è un bucket Amazon S3. Puoi anche caricare da file di dati che si trovano in un EMR cluster Amazon, un'EC2istanza Amazon o un host remoto a cui il cluster può accedere utilizzando una SSH connessione, oppure puoi caricare direttamente da una tabella DynamoDB.

Autorizzazione

Una clausola che indica il metodo utilizzato dal cluster per l'autenticazione e l'autorizzazione all'accesso ad altre risorse. AWS Il COPY comando richiede l'autorizzazione per accedere ai dati in un'altra AWS risorsa, tra cui Amazon S3, AmazonEMR, Amazon DynamoDB e Amazon. EC2 Puoi fornire tale autorizzazione facendo riferimento a un IAM ruolo collegato al tuo cluster o fornendo l'ID della chiave di accesso e la chiave di accesso segreta per un utente. IAM

Parametri facoltativi

Facoltativamente, è possibile specificare in COPY che modo mappare i dati dei campi alle colonne della tabella di destinazione, definire gli attributi dei dati di origine per consentire al COPY comando di leggere e analizzare correttamente i dati di origine e gestire le operazioni eseguite dal COPY comando durante il processo di caricamento.

Mappatura di colonne

Per impostazione predefinita, COPY inserisce i valori dei campi nelle colonne della tabella di destinazione nello stesso ordine in cui i campi si trovano 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.

Parametri del formato dei dati

È possibile caricare dati da file di testo in formato o valori a larghezza fissa, delimitati da caratteri, separati da virgole (CSV) o da file Avro. JSON

Per impostazione predefinita, il COPY comando prevede che i dati di origine siano contenuti in file di testo -8 delimitati da caratteri. UTF Il delimitatore predefinito è una barra verticale ( | ). Se i dati di origine sono in un altro formato, utilizza i seguenti parametri per specificare il formato dei dati.

Parametri di conversione dei dati

Durante il caricamento della tabella, COPY tenta di convertire implicitamente le stringhe nei dati di origine nel tipo di dati della colonna di destinazione. Se hai necessità di specificare una conversione diversa dal comportamento predefinito o se la conversione predefinita dà luogo a errori, è possibile gestire le conversioni dei dati specificando i seguenti parametri.

Operazioni di caricamento dati

Gestisce il comportamento predefinito dell'operazione di caricamento per la risoluzione dei problemi o per ridurre i tempi di caricamento specificando i seguenti parametri.

Note sull'utilizzo e risorse aggiuntive per il comando COPY

Per ulteriori informazioni su come utilizzare il COPY comando, vedere i seguenti argomenti:

COPYesempi di comandi

Per altri esempi che mostrano come eseguire l'COPYoperazione da varie fonti, in formati diversi e con diverse COPY opzioni, consulta. COPYesempi