CREATE WAREHOUSE¶
시스템에 새 가상 웨어하우스 를 만듭니다.
가상 웨어하우스를 처음 만들 때는 최초에 웨어하우스를 SUSPENDED
상태에서 만들지 않는 한 컴퓨팅 리소스 프로비저닝에 시간이 걸릴 수 있습니다.
구문¶
CREATE [ OR REPLACE ] WAREHOUSE [ IF NOT EXISTS ] <name>
[ [ WITH ] objectProperties ]
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ]
[ objectParams ]
여기서
objectProperties ::= WAREHOUSE_TYPE = { STANDARD | 'SNOWPARK-OPTIMIZED' } WAREHOUSE_SIZE = { XSMALL | SMALL | MEDIUM | LARGE | XLARGE | XXLARGE | XXXLARGE | X4LARGE | X5LARGE | X6LARGE } MAX_CLUSTER_COUNT = <num> MIN_CLUSTER_COUNT = <num> SCALING_POLICY = { STANDARD | ECONOMY } AUTO_SUSPEND = { <num> | NULL } AUTO_RESUME = { TRUE | FALSE } INITIALLY_SUSPENDED = { TRUE | FALSE } RESOURCE_MONITOR = <monitor_name> COMMENT = '<string_literal>' ENABLE_QUERY_ACCELERATION = { TRUE | FALSE } QUERY_ACCELERATION_MAX_SCALE_FACTOR = <num>objectParams ::= MAX_CONCURRENCY_LEVEL = <num> STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = <num> STATEMENT_TIMEOUT_IN_SECONDS = <num>
필수 매개 변수¶
name
가상 웨어하우스의 식별자로, 계정에 고유한 식별자여야 합니다.
또한, 식별자는 알파벳 문자로 시작해야 하며 전체 식별자 문자열을 큰따옴표(예:
"My object"
)로 묶지 않는 한 공백이나 특수 문자를 포함할 수 없습니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.
선택적 속성(objectProperties
)¶
WAREHOUSE_TYPE = { STANDARD | 'SNOWPARK-OPTIMIZED' }
웨어하우스 유형을 지정합니다.
- 유효한 값:
STANDARD
,'STANDARD'
'SNOWPARK-OPTIMIZED'
- 기본값:
STANDARD
참고
하이픈을 포함한 값(
'SNOWPARK-OPTIMIZED'
)을 사용하려면 표시된 대로 값을 작은따옴표로 묶어야 합니다.WAREHOUSE_SIZE = { XSMALL | SMALL | MEDIUM | LARGE | XLARGE | XXLARGE | XXXLARGE | X4LARGE | X5LARGE | X6LARGE }
가상 웨어하우스의 크기를 지정합니다. 이 크기에 따라 웨어하우스에서 각 클러스터의 컴퓨팅 리소스 양이 결정되며, 따라서 웨어하우스가 실행 중인 동안 소비되는 크레딧 수도 결정됩니다.
- 유효한 값:
지원되는 값
동의어
XSMALL
'X-SMALL'
SMALL
MEDIUM
LARGE
XLARGE
'X-LARGE'
XXLARGE
X2LARGE
,'2X-LARGE'
XXXLARGE
X3LARGE
,'3X-LARGE'
X4LARGE
'4X-LARGE'
X5LARGE
'5X-LARGE'
X6LARGE
'6X-LARGE'
- 기본값:
XSMALL
참고
XSMALL, SMALL, X5LARGE 및 X6LARGE 크기는 Snowpark에 최적화된 웨어하우스를 지원하지 않습니다. Snowpark에 최적화된 웨어하우스의 기본 크기는 MEDIUM입니다.
하이픈을 포함한 값(예:
'2X-LARGE'
)을 사용하려면 표시된 대로 값을 작은따옴표로 묶어야 합니다.
MAX_CLUSTER_COUNT = num
멀티 클러스터 웨어하우스의 최대 클러스터 수를 지정합니다. 단일 클러스터 웨어하우스의 경우 이 값은 항상
1
입니다.- 유효한 값:
1
~10
1
보다 큰 값을 지정하면 웨어하우스가 다중 클러스터 웨어하우스임을 나타내지만, 값을 Snowflake Enterprise Edition 또는 그 이상으로만 설정할 수 있습니다.자세한 내용은 멀티 클러스터 웨어하우스 섹션을 참조하십시오.
- 기본값:
1
(단일 클러스터 웨어하우스)
팁
Snowflake Enterprise Edition 이상의 경우, 다중 클러스터 웨어하우스의 고가용성과 최적의 성능을 유지하는 데 도움이 되도록 항상
1
보다 큰 값을 설정하는 것이 좋습니다. 이는 또한 드물긴 하지만 클러스터에 장애가 발생하는 경우에도 연속성 보장에 도움이 됩니다.MIN_CLUSTER_COUNT = num
멀티 클러스터 웨어하우스의 최소 클러스터 수를 지정합니다(멀티 클러스터 웨어하우스에만 적용됨).
- 유효한 값:
1
~10
하지만
MIN_CLUSTER_COUNT
는MAX_CLUSTER_COUNT
보다 작거나 같아야 합니다.두 매개 변수가 모두 같으면 웨어하우스는 최대화 모드에서 실행됩니다.
MIN_CLUSTER_COUNT
가MAX_CLUSTER_COUNT
미만인 경우, 웨어하우스는 자동 크기 조정 모드에서 실행됩니다.
자세한 내용은 멀티 클러스터 웨어하우스 섹션을 참조하십시오.
- 기본값:
1
SCALING_POLICY = { STANDARD | ECONOMY }
자동 크기 조정 모드에서 실행 중인 멀티 클러스터 웨어하우스에서 클러스터를 자동으로 시작하고 종료하는 정책을 지정합니다.
- 유효한 값:
STANDARD
: 클러스터를 시작하여 큐 대기를 최소화합니다.ECONOMY
: 실행 중인 클러스터를 완전히 로딩된 상태로 유지하도록 설정하여 크레딧을 절약합니다.
자세한 설명은 멀티 클러스터 웨어하우스에 대한 크기 조정 정책 설정하기 를 참조하십시오.
- 기본값:
STANDARD
AUTO_SUSPEND = { num | NULL }
웨어하우스가 자동으로 일시 중단된 후의 비활성 시간(초)을 지정합니다.
- 유효한 값:
임의의 정수
0
이상 또는NULL
:60
보다 작은 값을 설정할 수 있지만, 웨어하우스를 일시 중단하는 백그라운드 프로세스가 약 60초마다 실행되므로 원하거나 예상했던 동작이 이루어지지 않을 수도 있으며, 따라서 이는 웨어하우스 일시 중단에 대해 정확히 제어할 수 있도록 하려는 목적은 아닙니다.0
또는NULL
값으로 설정하면 웨어하우스가 일시 중단되지 않는다는 뜻입니다.
- 기본값:
600
(10분간 아무런 활동이 없으면 웨어하우스가 자동으로 일시 중단됨)
중요
쿼리 워크로드가 웨어하우스를 계속 실행할 필요가 없는 한
AUTO_SUSPEND
를0
또는NULL
로 설정하는 것은 권장하지 않습니다. 이로 인해 크레딧과 그에 상응하는 요금이 상당히 많이 소비될 수 있기 때문이며, 특히 규모가 큰 웨어하우스의 경우는 더욱 그러합니다.AUTO_RESUME = { TRUE | FALSE }
SQL 문(예: 쿼리)을 웨어하우스에 제출할 때 웨어하우스를 자동으로 다시 시작할지 여부를 지정합니다.
- 유효한 값:
TRUE
: 새 쿼리를 제출하면 웨어하우스가 다시 시작됩니다.FALSE
: ALTER WAREHOUSE 를 사용하거나 Snowflake 웹 인터페이스를 통해 명시적으로 다시 시작할 때만 웨어하우스가 다시 시작됩니다.
- 기본값:
TRUE
(SQL 문을 웨어하우스에 제출하면 웨어하우스가 자동으로 다시 시작됨)
INITIALLY_SUSPENDED = { TRUE | FALSE }
웨어하우스를 처음에 ‘일시 중단됨’ 상태로 만들지 여부를 지정합니다.
- 유효한 값:
TRUE
: 웨어하우스가 생성되지만 일시 중단됩니다.FALSE
: 웨어하우스가 생성된 후 실행을 시작합니다.
- 기본값:
FALSE
RESOURCE_MONITOR = monitor_name
웨어하우스에 명시적으로 할당된 리소스 모니터의 이름을 지정합니다. 리소스 모니터가 웨어하우스에 명시적으로 할당되면 모니터가 웨어하우스와 모니터가 할당된 다른 모든 웨어하우스에서 사용하는 월별 크레딧을 제어합니다.
- 유효한 값:
기존의 리소스 모니터.
자세한 내용은 리소스 모니터 관련 작업하기 섹션을 참조하십시오.
- 기본값:
값 없음(웨어하우스에 할당된 리소스 모니터 없음)
팁
모든 리소스 모니터와 해당 식별자를 보려면 SHOW RESOURCE MONITORS 명령을 사용하십시오.
COMMENT = 'string_literal'
웨어하우스에 대한 설명을 지정합니다.
TAG ( tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] )
태그 이름과 태그 문자열 값을 지정합니다.
태그 값은 항상 문자열이며, 태그 값의 최대 문자 수는 256자입니다.
문에서 태그를 지정하는 방법에 대한 자세한 내용은 오브젝트 및 열에 대한 태그 할당량 섹션을 참조하십시오.
Query Acceleration 속성¶
ENABLE_QUERY_ACCELERATION = { TRUE | FALSE }
이 웨어하우스에 컴퓨팅 리소스를 의존하는 쿼리에 대해 쿼리 가속 서비스 를 활성화할지 여부를 지정합니다.
- 유효한 값:
TRUE
는 Query Acceleration을 활성화함FALSE
는 Query Acceleration을 비활성화함
- 기본값:
FALSE
: Query Acceleration이 비활성화됨
QUERY_ACCELERATION_MAX_SCALE_FACTOR = num
쿼리 가속을 위한 컴퓨팅 리소스를 임대하는 최대 배율을 지정합니다. 배율은 웨어하우스 크기 를 기반으로 하는 승수로 사용됩니다.
QUERY_ACCELERATION_MAX_SCALE_FACTOR를 0으로 설정하면 제한이 사라지고 쿼리가 쿼리 처리에 필요하고 사용할 수 있는 만큼 리소스를 임대할 수 있습니다.
QUERY_ACCELERATION_MAX_SCALE_FACTOR 값에 관계없이 쿼리 가속에 사용할 수 있는 컴퓨팅 리소스의 양은 서비스에서 사용 가능한 리소스와 다른 동시 요청 수에 따라 제한됩니다. 자세한 내용은 배율 조정하기 섹션을 참조하십시오.
- 유효한 값:
0
~100
- 기본값:
8
선택적 매개 변수(objectParams
)¶
MAX_CONCURRENCY_LEVEL = num
웨어하우스 클러스터에서 실행되는 SQL 문의 동시성 수준(즉, 쿼리와 DML)을 지정하는 오브젝트 매개 변수입니다.
이 매개 변수에 대한 자세한 설명은 MAX_CONCURRENCY_LEVEL 섹션을 참조하십시오.
STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = num
시스템에서 SQL 문(쿼리, DDL, DML 등)을 취소하기 전에 웨어하우스의 큐에 대기 상태로 둘 수 있는 시간(초)을 지정하는 오브젝트 매개 변수입니다.
이 매개 변수에 대한 자세한 설명은 STATEMENT_QUEUED_TIMEOUT_IN_SECONDS 섹션을 참조하십시오.
STATEMENT_TIMEOUT_IN_SECONDS = num
시스템에서 실행 중인 SQL 문(쿼리, DDL, DML 등)을 취소한 이후의 시간(초)을 지정하는 오브젝트 매개 변수입니다.
이 매개 변수에 대한 자세한 설명은 STATEMENT_TIMEOUT_IN_SECONDS 섹션을 참조하십시오.
액세스 제어 요구 사항¶
이 SQL 명령을 실행하는 데 사용되는 역할 에는 최소한 다음 권한 이 있어야 합니다.
권한 |
오브젝트 |
참고 |
---|---|---|
CREATE WAREHOUSE |
계정 |
Only the SYSADMIN role, or a higher role, has this privilege by default. The privilege can be granted to additional roles as needed. |
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
사용법 노트¶
가상 웨어하우스를 만들면 현재 세션의 활성/현재 웨어하우스로 자동으로 설정됩니다(웨어하우스에 USE WAREHOUSE 명령을 사용하는 것과 같음).
메타데이터 관련:
주의
고객은 Snowflake 서비스를 사용할 때 개인 데이터(사용자 오브젝트 제외), 민감한 데이터, 수출 통제 대상 데이터 또는 기타 규제 데이터가 메타데이터로 입력되지 않도록 해야 합니다. 자세한 내용은 Snowflake의 메타데이터 필드 섹션을 참조하십시오.
OR REPLACE
를 사용하는 것은 기존 웨어하우스에서 DROP WAREHOUSE 를 사용한 다음 같은 이름으로 새 웨어하우스를 만드는 것과 같습니다.CREATE OR REPLACE <오브젝트> 문은 원자성입니다. 즉, 오브젝트가 바뀔 때 단일 트랜잭션으로 이전 오브젝트가 삭제되고 새 오브젝트가 생성됩니다.
삭제된 웨어하우스에서 실행 중인 모든 쿼리가 중단됩니다.
Snowpark에 최적화된 가상 웨어하우스를 처음 만들고 재개하는 시간이 표준 웨어하우스보다 더 오래 걸릴 수 있습니다.
Snowpark에 최적화된 웨어하우스는
XSMall
,SMALL
,X5LARGE
또는X6LARGE
웨어하우스 크기에서 지원되지 않습니다.
예¶
X-Large 웨어하우스 만들기:
CREATE OR REPLACE WAREHOUSE my_wh WITH WAREHOUSE_SIZE='X-LARGE';
일시 중단된 상태의 Large 웨어하우스 만들기:
CREATE OR REPLACE WAREHOUSE my_wh WAREHOUSE_SIZE=LARGE INITIALLY_SUSPENDED=TRUE;