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

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

從 Amazon S3 載入固定寬度資料

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

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

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

copy table_name from 's3://mybucket/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://mybucket/data/venue_fw.txt' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole' fixedwidth 'venueid:3,venuename:25,venuecity:12,venuestate:2,venueseats:6';