從 Amazon S3 載入固定寬度資料 - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

從 Amazon S3 載入固定寬度資料

固定寬度資料檔案其資料的每個資料欄長度一致。固定寬度資料檔案中的每個欄位有完全相同的長度和位置。對於固定寬度資料檔案中的字元資料 (CHAR 和 VARCHAR),您必須將前置或尾端空格作為預留位置,才能保持寬度一致。針對整數,您必須使用前方零做為預留位置。固定寬度資料檔案沒有分隔符號可分隔資料欄。

若要將固定寬度資料檔案載入現有資料表,USE請載入 COPY命令中的 FIXEDWIDTH 參數。您的資料表規格必須符合 fixedwidth_spec 的值,資料才能正確載入。

若要從檔案載入固定寬度資料至資料表,請發出下列命令:

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

fixedwidth_spec 參數是字串,包含每個資料欄的識別碼以及每個資料欄的寬度,以冒號分隔。column:width 對組是使用逗號分隔。識別碼可以是您選擇的任何項目:數字、字母或兩者的結合。識別碼對資料表本身沒有關聯,所有規格必須以與資料表相同的順序包含資料欄。

下列兩個範例會顯示相同的規格,第一個使用數值識別碼,而第二個使用字串識別碼:

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

下列範例顯示可使用上述規格載入VENUE資料表的固定寬度範例資料:

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

下列COPY命令會將此資料集載入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';