snowflake

넘어산·2024년 1월 23일
0

TIL

목록 보기
31/37

COPY

  • 레코드를 하나씩 적재하지 않고 벌크로 레코드들이 있는 파일을 통쨰로 적재
  • 레코드 파일들을 클라우드 스토리지에 업로드
  • 클라우드 스토리지에 있는 파일을 copy 명령으로 목적 테이블에 적재
  • 클라우드 스토리지와 접근 권한 설정이 중요
    • 레코드들이 있는 파일들이 적재될 버킷 생성
    • 클라우드 스토리지 접근 권한 설정
    • snowflake copy

S3 버킷 생성과 파일 업로드

  • csv 파일 다운로드
  • aws 콘솔에서 s3 버킷 만들고 업로드하기

테이블 만들기

CREATE DATABASE dev;

---먼저 3개의 스키마를 생성한다---
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='"');

0개의 댓글