redshift에 73 개의 로컬 파일을로드하려고합니다. 데이터에는 쉼표 또는 탭과 같은 공통 구분 기호가 없습니다. 대신 구분 기호는 13 칸입니다. 이 공백을 구분 기호로 취급 할 수있는 방법이 있습니까?여러 개의 공백으로 구분 기호가있는 Amazon redshift에 데이터로드
AWS 문서에서 동일한 예제를 사용하고 있습니다. 실제 데이터는 다음과 같다 :
1 ToyotaPark Bridgeview IL
2 ColumbusCrewStadium Columbus OH
3 RFKStadium Washington DC
4 CommunityAmericaBallpark KansasCity KS
5 GilletteStadium Foxborough MA
6 NewYorkGiantsStadium EastRutherford NJ
7 BMOField Toronto ON
8 TheHomeDepotCenter Carson CA
9 Dick'sSportingGoodsPark CommerceCity CO
10 PizzaHutPark Frisco TX
샘플 코드 :
가create table venue_new(
venueid smallint not null,
venuename varchar(100) not null,
venuecity varchar(30),
venuestate char(2),
venueseats integer not null default '1000');
copy venue_new(venueid, venuename, venuecity, venuestate)
from 's3://mybucket/data/venue_noseats.txt'
credentials 'aws_access_key_id=<access-key-id>;aws_secret_access_key=<secret-access-key>'
delimiter ' ';
실제 데이터가 서로 다른 폭을 갖는 80 열을 갖는다. 좋은 점은 각 데이터 요소에 공간이 없다는 것입니다. 각 열에 고정 폭을 지정하는 대신. 13 개의 공백으로 데이터를 구분하는 더 쉬운 방법이 있습니까?
대부분'Split' 기능은 동일한 구분 기호로 연속 구분 기호를 치료하는 방법이있다. 그러나 더 많은 정보없이 여기서 문제를 해결하는 방법을 말하는 것은 어렵습니다. 데이터를 어떻게로드하는지 알지 못합니다. –
메모장에서 파일 열기. 13 개의 공백을 바꿉니다. 이제 .csv 파일이 있습니다. –
구분 된 파일이 아닌 고정 너비 파일을 가지고있는 것처럼 들립니다. 파일을 사전 처리하는 것을 고려하십시오 (예 : Unix에서는 명령 행에서'sed '를 사용하거나 모든 파일에서 스크립트를 사용할 수 있습니다). –