Snowflake

[Snowflake] Snowflake에서 Virtual Warehouse 관리 실습하기

JustJunsu 2024. 10. 10. 11:06
728x90

이번 포스팅에서는 Snowflake의 Virtual Warehouse를 생성하고 관리하는 방법에 대해 알아보겠습니다. Virtual Warehouse는 Snowflake에서 데이터를 처리하는 컴퓨팅 자원으로, 워크로드에 맞게 유연하게 관리할 수 있습니다. 이번 실습에서는 Virtual Warehouse를 생성하고, 크기 및 상태 관리, 동작 설정 등을 다루겠습니다.

 

1. Virtual Warehouse 생성

Virtual Warehouse를 생성하고 기본 설정을 지정합니다.

USE ROLE SYSADMIN;

CREATE WAREHOUSE DATA_ANALYSIS_WAREHOUSE 
WAREHOUSE_SIZE = 'SMALL'  -- Small 사이즈로 설정
AUTO_SUSPEND = 600        -- 10분 동안 사용하지 않으면 자동으로 일시 중지
AUTO_RESUME = TRUE        -- 필요 시 자동 재개
INITIALLY_SUSPENDED=TRUE; -- 처음에 생성할 때는 중지 상태로 시작

 

이 명령을 통해 DATA_ANALYSIS_WAREHOUSE라는 이름의 작은 사이즈 Virtual Warehouse가 생성됩니다. 이 Warehouse는 600초(10분) 동안 사용되지 않으면 자동으로 일시 중지되고, 쿼리가 실행될 때 자동으로 재개됩니다.

2. Virtual Warehouse 상태 확인 및 수동 관리

Virtual Warehouse의 상태를 수동으로 제어하고 상태를 확인해봅니다.

2.1 Virtual Warehouse 수동 재개 및 상태 확인

-- Virtual Warehouse 수동 재개
ALTER WAREHOUSE DATA_ANALYSIS_WAREHOUSE RESUME;

-- Warehouse 상태 확인
SHOW WAREHOUSES LIKE 'DATA_ANALYSIS_WAREHOUSE';
 

이 명령을 통해 Virtual Warehouse를 수동으로 재개하고, 현재 상태를 확인할 수 있습니다.

2.2 Virtual Warehouse 수동 중지

-- Virtual Warehouse 수동 중지
ALTER WAREHOUSE DATA_ANALYSIS_WAREHOUSE SUSPEND;

SHOW WAREHOUSES LIKE 'DATA_ANALYSIS_WAREHOUSE';

SUSPEND 명령어를 통해 Virtual Warehouse를 수동으로 중지할 수 있습니다. 다시 SHOW WAREHOUSES 명령어를 사용하여 상태를 확인할 수 있습니다.

 

3. 데이터 조회

Virtual Warehouse가 활성화된 상태에서 데이터를 조회해보겠습니다. Snowflake 샘플 데이터베이스의 CUSTOMER 테이블에서 상위 100개의 행을 선택합니다.

USE WAREHOUSE DATA_ANALYSIS_WAREHOUSE;
USE SCHEMA SNOWFLAKE_SAMPLE_DATA.TPCH_SF1000;

SELECT 
C_CUSTKEY, 
C_NAME, 
C_ADDRESS, 
C_NATIONKEY, 
C_PHONE 
FROM CUSTOMER 
LIMIT 100;

 

쿼리를 실행하여 데이터가 잘 조회되는지 확인합니다.

 

4. Virtual Warehouse 설정 변경

Virtual Warehouse의 크기와 동작 설정을 동적으로 변경할 수 있습니다. 실시간으로 Warehouse 설정을 변경해보겠습니다.

-- Warehouse 크기를 Large로 변경
ALTER WAREHOUSE DATA_ANALYSIS_WAREHOUSE SET WAREHOUSE_SIZE=LARGE;

-- 자동 일시 중지 시간을 5분으로 변경
ALTER WAREHOUSE DATA_ANALYSIS_WAREHOUSE SET AUTO_SUSPEND=300;

-- 자동 재개 기능을 비활성화
ALTER WAREHOUSE DATA_ANALYSIS_WAREHOUSE SET AUTO_RESUME=FALSE;

 

ALTER WAREHOUSE 명령어를 사용하여 Warehouse 크기와 자동 일시 중지/재개 설정을 실시간으로 변경할 수 있습니다.

 

5. 설정 변경 확인

Warehouse 설정이 정상적으로 변경되었는지 확인합니다.

SHOW WAREHOUSES LIKE 'DATA_ANALYSIS_WAREHOUSE';
SELECT "name", "state", "size", "auto_suspend", "auto_resume" FROM TABLE(result_scan(last_query_id()));

 

이 명령어를 사용하여 Virtual Warehouse의 이름, 상태, 크기, 자동 일시 중지 및 재개 설정을 확인할 수 있습니다.

 

6. 리소스 정리

실습이 끝나면 Virtual Warehouse를 삭제하여 리소스를 정리합니다.

DROP WAREHOUSE DATA_ANALYSIS_WAREHOUSE;

 

이번 포스팅에서는 Snowflake의 Virtual Warehouse를 생성하고 관리하는 방법을 실습했습니다. Virtual Warehouse의 크기, 상태, 동작 설정을 유연하게 관리할 수 있어 다양한 워크로드에 맞게 활용할 수 있었습니다.

 

Reference

https://www.udemy.com/course/ultimate-snowpro-core-certification-course-exam/?couponCode=UPGRADE02223

https://docs.snowflake.com/en/guides

 

Guides - Snowflake Documentation

Getting data in to Snowflake Snowflake provides several different methods to load data in to Snowflake, such as by using Snowpipe, loading from cloud storage, or uploading files using Snowsight.

docs.snowflake.com

 

728x90