Caricamento di dati a larghezza fissa da Amazon S3 - 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à.

Caricamento di dati a larghezza fissa da Amazon S3

I file di dati a larghezza fissa hanno lunghezze uniformi per ciascuna colonna di dati. Ogni campo in un file di dati a larghezza fissa ha esattamente la stessa lunghezza e la stessa posizione. Per i dati relativi ai caratteri (CHARandVARCHAR) in un file di dati a larghezza fissa, è necessario includere spazi iniziali o finali come segnaposto per mantenere la larghezza uniforme. Per gli interi, è necessario utilizzare gli zero iniziali come segnaposti. Un file di dati a larghezza fissa non ha delimitatori per separare le colonne.

Per caricare un file di dati a larghezza fissa in una tabella esistente, utilizzate il parametro nel comando. USE FIXEDWIDTH COPY Le specifiche della tabella devono corrispondere al valore di fixedwidth_spec affinché i dati vengano caricati correttamente.

Per caricare dati a larghezza fissa da un file a una tabella, emetti il seguente comando:

COPY table_name FROM 's3://amzn-s3-demo-bucket/prefix' IAM_ROLE 'arn:aws:iam::0123456789012:role/MyRedshiftRole' FIXEDWIDTH 'fixedwidth_spec';

Il parametro fixedwidth_spec è una stringa che contiene un identificatore per ogni colonna e la larghezza di ogni colonna, separati da due punti. Le coppie column:width sono delimitate da virgole. L'identificatore può essere qualsiasi elemento desiderato: numeri, lettere o una combinazione dei due. L'identificatore non ha alcuna relazione con la tabella stessa, quindi la specifica deve contenere le colonne nello stesso ordine della tabella.

I seguenti due esempi mostrano la stessa specifica, il primo con identificatori numerici e il secondo con identificatori di stringa:

'0:3,1:25,2:12,3:2,4:6'
'venueid:3,venuename:25,venuecity:12,venuestate:2,venueseats:6'

L'esempio seguente mostra dati di esempio a larghezza fissa che possono essere caricati nella VENUE tabella utilizzando le specifiche precedenti:

1 Toyota Park Bridgeview IL0 2 Columbus Crew Stadium Columbus OH0 3 RFK Stadium Washington DC0 4 CommunityAmerica Ballpark Kansas City KS0 5 Gillette Stadium Foxborough MA68756

Il COPY comando seguente carica questo set di dati nella tabella: VENUE

COPY venue FROM 's3://amzn-s3-demo-bucket/data/venue_fw.txt' IAM_ROLE 'arn:aws:iam::0123456789012:role/MyRedshiftRole' FIXEDWIDTH 'venueid:3,venuename:25,venuecity:12,venuestate:2,venueseats:6';