개요
CSV 파일의 데이터를 Snowflake 상에서 다루려고 한다. 이번 글에서는 CSV 파일을 Snowflake 데이터베이스 테이블에 저장하는 방법을 적어둔다.
CSV 파일 로드
예시로 아래와 같은 형식의 파일을 로드해 보자.
Plant Name,Rooting Depth
Artichoke,D
Arugula,S
Asparagus,D
"Beans, bush",M
"Beans, lima (bush)",D
"Beans, pole",M
Beets,M
Broccoli,S
Brussel sprouts,S
1. 테이블 생성
워크시트를 통해 로드할 데이터의 컬럼을 포함하는 테이블을 생성한다.
create table garden_plants.veggies.vegetable_details (
plant_name varchar(25)
, root_depth_code varchar(1)
);
2. 데이터를 저장할 테이블의 Load Data 버튼 클릭
2. 로드할 데이터 파일 지정
데이터 파일은 직접 업로드하거나 외부 저장소 연동을 지원하는 stage에서 추가할 수 있다. 지원하는 파일 형식은 CSV, json, orc, avro, parquet, xml 등이 있다.
3. 데이터를 읽을 방식 지정
CSV 첫 행은 header인지, 구분자는 어떤 문자열인지, 그 외 시간 형식 등을 지정한다. 로드할 데이터 파일을 살펴보고 지정해야 한다.
이 글에서 로드할 데이터 파일의 경우 첫 행이 HEADER에 해당한다. 따라서 Header 항목엔 Skip first line을 지정한다.
또한 값에 구분자인 쉼표를 포함하고 있어 값 구분을 위해 큰따옴표로 묶인 것들이 존재한다. 이런 데이터는 Field optionally enclosed by 항목에 추가 구분자를 지정하면 된다. 이 글은 Double qoutes로 지정했다.
설정을 완료하면 Load 버튼을 클릭한다.
데이터 확인
워크시트에서 SELECT를 수행하는 등의 방식으로 테이블에 데이터가 제대로 저장되었는지 확인한다.
SELECT *
FROM garden_plants.veggies.vegetable_details;
참고 문서
https://docs.snowflake.com/en/user-guide/data-load-web-ui