Immersion In Data

Snowflake/Snowflake - The Complete Masterclass

[Snowflake] Data Sampling

sungjunminn 2023. 2. 14. 11:00

1. Why data sampling?

  • 쿼리 개발, 데이터 분석 등에 사용
  • 빠르고 비용 효율적임 (컴퓨팅 리소스 절감)

 



2. Methods of data sampling

  • ROW or BERNOULLI method

- 모든 행은 p 퍼센트로 선택됨
- 임의적
- 작은 테이블에 적합

  • BLOCK or SYSTEM method

-  모든 블럭은 p 퍼센트로 선택
- 효율적
- 큰 테이블에 적합

 

 



3. Sampling data: Hands-on

  • 데이터베이스 생성
CREATE OR REPLACE TRANSIENT DATABASE SAMPLING_DB;

 

  • SAMPLE ROW를 통해 데이터를 샘플링해서 뷰 생성
CREATE OR REPLACE VIEW ADDRESS_SAMPLE
AS 
SELECT * FROM SNOWFLAKE_SAMPLE_DATA.TPCDS_SF10TCL.CUSTOMER_ADDRESS 
SAMPLE ROW (1) SEED(27);

 

  • 테이블 확인
SELECT * FROM ADDRESS_SAMPLE;

 

  • 총 행수로 나눈 백분율 확인
SELECT CA_LOCATION_TYPE, COUNT(*)/3254250*100
FROM ADDRESS_SAMPLE
GROUP BY CA_LOCATION_TYPE;

 

  • SAMPLE SYSTEM을 통해 마이크로 파티션에서 샘플링해서 결과 확인 
SELECT * FROM SNOWFLAKE_SAMPLE_DATA.TPCDS_SF10TCL.CUSTOMER_ADDRESS 
SAMPLE SYSTEM (1) SEED(23);
SELECT * FROM SNOWFLAKE_SAMPLE_DATA.TPCDS_SF10TCL.CUSTOMER_ADDRESS 
SAMPLE SYSTEM (10) SEED(23);

 

 

 

 

 

 

Udemy의 'Snowflake - The Complete Masterclass (2023 Edition)'를 공부한 내용을 바탕으로 작성하였습니다. 

'Snowflake > Snowflake - The Complete Masterclass' 카테고리의 다른 글

[Snowflake] Streams  (0) 2023.02.20
[Snowflake] Scheduling Tasks  (0) 2023.02.14
[Snowflake] Data sharing  (0) 2023.02.13
[Snowflake] Zero-Copy Cloning  (0) 2023.02.09
[Snowflake] Types of tables  (0) 2023.02.09