Utilizzo di un manifest per specificare i fili di dati - 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à.

Utilizzo di un manifest per specificare i fili di dati

Puoi utilizzare un manifesto per assicurare che per un caricamento di dati il comando COPY carichi tutti i file richiesti e solo quelli. È possibile utilizzare un manifest per caricare file da diversi bucket o file che non condividono lo stesso prefisso. Anziché fornire il percorso di un oggetto per il comando COPY, fornisci il nome per un file di testo in formato JSON che elenca in modo esplicito i file da caricare. L'URL nel manifest deve specificare il nome bucket e il percorso completo dell'oggetto per il file, non solo un prefisso.

Per ulteriori informazioni sui file manifest, consultare l'esempio di comando COPY Utilizzo di un manifest per specificare i file di dati.

L'esempio seguente mostra il JSON per il caricamento dei file da diversi bucket e con nomi di file che iniziano con stamp di data.

{ "entries": [ {"url":"s3://mybucket-alpha/2013-10-04-custdata", "mandatory":true}, {"url":"s3://mybucket-alpha/2013-10-05-custdata", "mandatory":true}, {"url":"s3://mybucket-beta/2013-10-04-custdata", "mandatory":true}, {"url":"s3://mybucket-beta/2013-10-05-custdata", "mandatory":true} ] }

Il flag mandatory facoltativo specifica se COPY deve restituire un errore qualora il file non venga trovato. Il valore predefinito di mandatory è false. Indipendentemente da eventuali impostazioni obbligatorie, COPY terminerà se non vengono trovati file.

L'esempio seguente esegue il comando COPY con manifest nell'esempio precedente, che viene denominato cust.manifest.

copy customer from 's3://mybucket/cust.manifest' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole' manifest;

Utilizzo di un manifest creato da UNLOAD

Un manifest creato da un'operazione UNLOAD utilizzando il parametro MANIFEST potrebbe avere chiavi non richieste per l'operazione di COPY. Ad esempio, il manifest UNLOAD seguente include una chiave meta necessaria per una tabella esterna di Amazon Redshift Spectrum e per il caricamento di file di dati in formato ORC o Parquet. La chiave meta contiene una chiave content_length con un valore che rappresenta le dimensioni effettive del file in byte. L'operazione di COPY richiede solo la chiave url e una chiave opzionale mandatory.

{ "entries": [ {"url":"s3://mybucket/unload/manifest_0000_part_00", "meta": { "content_length": 5956875 }}, {"url":"s3://mybucket/unload/unload/manifest_0001_part_00", "meta": { "content_length": 5997091 }} ] }

Per ulteriori informazioni sui file manifest, consulta Example: COPY from Amazon S3 using a manifest.