반응형
S3에 존재하는 CSV파일을 REDSHIFT에서 직접 CSV파일을 읽어서 테이블처럼 조회하는 방법이다.
CREATE EXTERNAL TABLE spectrum_schema.csv_table_name (
"col_01" VARCHAR(2000)
,"col_02" VARCHAR(2000)
,"col_03" VARCHAR(2000)
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
'separatorChar' = ',',
'quoteChar' = '"',
'escapeChar' = '\\'
)
STORED AS TEXTFILE
LOCATION 's3://aws-bucket/file/path/csvfoldername'
TABLE PROPERTIES (
'skip.header.line.count'='1',
'recursive'='true',
'input.regex'='.*.csv$'
);
drop table spectrum_schema.csv_table;
1. CSV헤더 정보와 TABLE의 컬럼 정보는이름이 아니라 순서대로 매핑된다.
2. 해당 버킷폴더 경로 내에 CSV파일이 생성되면 별도의 추가 없이도 읽을 수 있다.
3. 테이블을 드랍해도 S3 CSV파일은 그대로 존재한다.
반응형
'IT 자료' 카테고리의 다른 글
postgresql(redshift) 테이블 코멘트 확인 (0) | 2024.07.09 |
---|---|
파이썬 print에 시간표시 (0) | 2024.07.04 |
AWS Athena에서 sysdate (0) | 2024.04.29 |
[DBEAVER] SQL실행 시, 빈 줄 구분 (0) | 2024.04.29 |
AWS Redshift base64 인코딩 디코딩 (0) | 2024.04.12 |