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 쌍은 쉼표로 구분됩니다. 식별자는 숫자, 문자 또는 숫자와 문자의 조합 중 어떤 것이든 가능합니다. 식별자는 테이블 자체와 아무 관련이 없으므로 사양에는 테이블과 동일한 순서로 열이 포함되어야 합니다.

다음 2개의 예에 나오는 사양은 동일하며, 첫 번째 사양은 숫자 식별자를 사용하고 두 번째 사양은 문자열 식별자를 사용합니다.

'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';