COPY
- 레코드를 하나씩 적재하지 않고 벌크로 레코드들이 있는 파일을 통쨰로 적재
- 레코드 파일들을 클라우드 스토리지에 업로드
- 클라우드 스토리지에 있는 파일을 copy 명령으로 목적 테이블에 적재
- 클라우드 스토리지와 접근 권한 설정이 중요
- 레코드들이 있는 파일들이 적재될 버킷 생성
- 클라우드 스토리지 접근 권한 설정
- snowflake copy
S3 버킷 생성과 파일 업로드
- csv 파일 다운로드
- aws 콘솔에서 s3 버킷 만들고 업로드하기
테이블 만들기
CREATE DATABASE dev;
CREATE SCHEMA dev.raw_data;
CREATE SCHEMA dev.analytics;
CREATE SCHEMA dev.adhoc;
CREATE OR REPLACE TABLE dev.raw_data.session_transaction (
sessionid varchar(32) primary key,
refunded boolean,
amount int
);
CREATE TABLE dev.raw_data.user_session_channel (
userid integer ,
sessionid varchar(32) primary key,
channel varchar(32)
);
CREATE TABLE dev.raw_data.session_timestamp (
sessionid varchar(32) primary key,
ts timestamp
);
AWS console IAM User 생성
copy를 사용하여 벌크 업데이트
COPY INTO dev.raw_data.user_session_channel
FROM 's3://jaehyun-test-bucket/test_data/._user_session_channel.csv'
credentials=(AWS_KEY_ID='' AWS_SECRET_KEY='')
FILE_FORMAT = (type='CSV' skip_header=1 FIELD_OPTIONALLY_ENCLOSED_BY='"');