imok
article thumbnail
728x90

Snowflake❄️의 Data Warehousing Workshop을 진행하면서 작업한 내용을 정리하고자 합니다.
Badge 1: 데이터 웨어하우징 워크샵 - KR

이번 내용은 Lesson 5: File Formats & the Load Wizard 과정을 진행하면서 작성한 내용입니다.


📓 Preparing Data for Loading

📓 Vegetable Details Table Data

ROOT_DEPTH 열을 다음과 같이 바꾸고, CSV 파일로 출력하기로 합니다. 하지만 CSV를 로드할 수 없는데요, 이유가 무엇일까요?

 

🥋 Create a Vegetable Details Table

워크시트 컨텍스트를 GARDEN_PLANTS.VEGGIES로 설정해야합니다.

create table vegetable_details
(
plant_name varchar(25)
, root_depth_code varchar(1)    
);


🥋 Massaging Data Prior to Load

📓 Uncle Yer Tries Out Different Data Options

📓 Uncle Yer Can Create File Formats to Match the Versions/Variations He Wants to Load

  1. pipe/vertical bar(|)로 구분된 값
  2. tab()으로 구분된 값
  3. 큰 따옴표(")로 묶여진 값


🥋 Setting Up File Formats

🥋 Create Two File Formats

마법사 기반 파일 형식 생성은 Classic Console에서만 생성 가능합니다.
AppUI에서는 SQL 문 파일 형식 생성만 가능합니다.

마법사로 생성하면 왼쪽 하단 모서리에 Show SQL 버튼이 있고, 이를 클릭하면, SQL로 파일 형식을 생성할 수 있습니다.

 

1. PIPECOLSEP_ONEHEADROW

| 로 구분된 파일

ALTER FILE FORMAT "GARDEN_PLANTS"."VEGGIES".PIPECOLSEP_ONEHEADROW
SET COMPRESSION = 'AUTO' 
    FIELD_DELIMITER = '|' 
    RECORD_DELIMITER = '\n' 
    SKIP_HEADER = 1 
    FIELD_OPTIONALLY_ENCLOSED_BY = 'NONE' 
    TRIM_SPACE = FALSE 
    ERROR_ON_COLUMN_COUNT_MISMATCH = TRUE 
    ESCAPE = 'NONE' 
    ESCAPE_UNENCLOSED_FIELD = '\134' 
    DATE_FORMAT = 'AUTO' 
    TIMESTAMP_FORMAT = 'AUTO' 
    NULL_IF = ('\\N');

2. COMMASEP_DBLQUOT_ONEHEADROW

,"로 구분된 파일

ALTER FILE FORMAT "GARDEN_PLANTS"."VEGGIES".COMMASEP_DBLQUOT_ONEHEADROW
SET COMPRESSION = 'AUTO' 
    FIELD_DELIMITER = ',' RECORD_DELIMITER = '\n' 
    SKIP_HEADER = 1 
    FIELD_OPTIONALLY_ENCLOSED_BY = '\042' 
    TRIM_SPACE = FALSE 
    ERROR_ON_COLUMN_COUNT_MISMATCH = TRUE 
    ESCAPE = 'NONE' 
    ESCAPE_UNENCLOSED_FIELD = '\134' 
    DATE_FORMAT = 'AUTO' 
    TIMESTAMP_FORMAT = 'AUTO' 
    NULL_IF = ('\\N');

🥋 🎯 Loading the Table Using the Load Wizard

🥋 Load the Comma Separated, Double-Quote Enclosed Data

1. warehouse 선택

 

2. source files : veggies_root_depth_comma_opt_enclosed.txt

3. File Format : COMMASEP_DBLQUOT_ONEHEADROW

4. Load Results

🎯 Attempt to Load the Pipe Delimited Data, Edit the File Format, Load the Data

파이프로 구분된 파일인 veggies_root_depth_pipe.txt를 업로드 해보면 아래와 같은 에러가 발생합니다.

데이터를 살펴보면, S 앞에 공백이 있습니다.

File Format을 수정하여, 값 주변의 공백을 제거하는 옵션을 선택하면 됩니다.

업로드 성공 !


🎯 Viewing Our Table Data

1. 데이터셋 살펴보기

select * from vegetable_details;

 

2. 두 번 나타나는 식물 이름 확인하기

Spinach의 count가 2개인 것을 알 수 있습니다.

3. 제거하는 방법 찾기

ROOT_DEPTH_CODESD 로 두 개 입니다.

select * from vegetable_details
where plant_name = 'Spinach';

 

ROOT_DEPTH_CODE 열에 D인 행 하나를 삭제합니다.

delete from vegetable_details
where plant_name = 'Spinach'
and root_depth_code = 'D';

4. 최종 확인


💯 Lesson 5: File Formats & the Load Wizard 완료!

728x90
profile

imok

@imok2

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!