CREATE WAREHOUSE¶
시스템에 새 가상 웨어하우스 를 만듭니다.
가상 웨어하우스를 처음 만들 때는 최초에 웨어하우스를 SUSPENDED 상태에서 만들지 않는 한 컴퓨팅 리소스 프로비저닝에 시간이 걸릴 수 있습니다.
이 명령은 다음 변형을 지원합니다.
- CREATE OR ALTER WAREHOUSE: 웨어하우스가 없는 경우 새 웨어하우스를 생성하거나 기존 웨어하우스를 변경합니다. 
구문¶
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 } RESOURCE_CONSTRAINT = { STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X | MEMORY_16X_x86 | MEMORY_64X | MEMORY_64X_x86 } 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>
베리언트 구문¶
CREATE OR ALTER WAREHOUSE¶
아직 존재하지 않는 경우 새 웨어하우스를 생성하거나 기존 웨어하우스를 문에 정의된 웨어하우스로 변환합니다. CREATE OR ALTER WAREHOUSE 문은 CREATE WAREHOUSE 문의 구문 규칙을 따르며 ALTER WAREHOUSE 문과 제한 사항이 동일합니다.
웨어하우스를 변경할 때 지원되는 수정 사항은 다음과 같습니다.
- 웨어하우스 속성 및 매개 변수 변경. 예: WAREHOUSE_TYPE, AUTO_RESUME 또는 MAX_CLUSTER_COUNT. 
자세한 내용은 CREATE OR ALTER WAREHOUSE 사용법 노트 섹션을 참조하십시오.
CREATE OR ALTER WAREHOUSE <name>
     [ [ WITH ] objectProperties ]
     [ objectParams ]
objectProperties ::=
  WAREHOUSE_TYPE = { STANDARD | 'SNOWPARK-OPTIMIZED' }
  WAREHOUSE_SIZE = { XSMALL | SMALL | MEDIUM | LARGE | XLARGE | XXLARGE | XXXLARGE | X4LARGE | X5LARGE | X6LARGE }
  RESOURCE_CONSTRAINT = { STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X | MEMORY_16X_x86 | MEMORY_64X | MEMORY_64X_x86 }
  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
 - 참고 - Snowpark에 최적화된 웨어하우스의 X5LARGE 및 X6LARGE 크기는 MEMORY_16X 리소스 제약 조건으로만 지원됩니다. 
- STANDARD_GEN_2 리소스 제약 조건을 사용하는 표준 웨어하우스에서는 X5LARGE 및 X6LARGE 크기가 지원되지 않습니다. 
- Snowpark에 최적화된 웨어하우스의 기본 크기는 MEDIUM입니다. 
- 하이픈을 포함한 값(예: - '2X-LARGE')을 사용하려면 표시된 대로 값을 작은따옴표로 묶어야 합니다.
- 더 큰 웨어하우스 크기 5X-Large와 6X-Large는 모든 Amazon Web Services(AWS) 및 Microsoft Azure 리전에서 일반 공급으로 제공됩니다. - 더 큰 웨어하우스 크기는 US 정부 리전에서 미리 보기로 제공됩니다(ARM에 대한 FIPS 지원 필요). 
 
- RESOURCE_CONSTRAINT = { STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X| MEMORY_1X_x86 | MEMORY_16X | MEMORY_16X_x86 | MEMORY_64X | MEMORY_64X_x86 }
- 
Snowpark에 최적화된 웨어하우스 또는 표준 웨어하우스의 1세대 또는 2세대 기능 에 대한 메모리 및 CPU 아키텍처를 지정합니다. 다음 표에는 속성에 대해 유효한 값, 사용 가능한 메모리, CPU 아키텍처, 그리고 resource_constraint설정에 필요한 최소 웨어하우스 크기가 나와 있습니다. 2세대 표준 웨어하우스를 사용할 수 있는 리전 및 클라우드 서비스 공급자에 대한 자세한 내용은 Snowflake 2세대 표준 웨어하우스 섹션을 참조하십시오.- 유효한 값:
 값 메모리(최대) CPU 아키텍처 필요한 최소 웨어하우스 크기 최대 웨어하우스 크기 STANDARD_GEN_116 GB 표준 XSMALL X6LARGE STANDARD_GEN_216 GB 표준(2세대) XSMALL X4LARGE MEMORY_1X16 GB 표준 XSMALL X4LARGE MEMORY_1X_x8616 GB x86 XSMALL X4LARGE MEMORY_16X256 GB 표준 MEDIUM X6LARGE MEMORY_16X_x86256 GB x86 MEDIUM X4LARGE MEMORY_64X1 TB 표준 LARGE X4LARGE MEMORY_64X_x861 TB x86 LARGE X4LARGE - 기본값:
- Snowpark에 최적화된 웨어하우스의 - MEMORY_16X. 표준 웨어하우스의 경우 기본값은 클라우드 서비스 공급자 리전에 대한 Gen2 지원과 해당 리전에서 Gen2 지원을 사용할 수 있게 된 후에 사용자 조직이 생성되었는지에 따라 달라집니다. 자세한 내용은 표준 웨어하우스의 경우 RESOURCE_CONSTRAINT 의 기본값입니다 섹션을 참조하십시오.
 
- MAX_CLUSTER_COUNT = num
- 멀티 클러스터 웨어하우스의 최대 클러스터 수를 지정합니다. 단일 클러스터 웨어하우스의 경우 이 값은 항상 - 1입니다.- 유효한 값:
- 1을 웨어하우스 크기에 따라 달라지는 상한으로 설정합니다.- 1보다 큰 값을 지정하면 웨어하우스가 다중 클러스터 웨어하우스임을 나타내지만, 값을 Snowflake Enterprise Edition 또는 그 이상으로만 설정할 수 있습니다.- 웨어하우스 크기별 상한을 포함한 자세한 내용은 멀티 클러스터 웨어하우스 섹션을 참조하십시오. 
- 기본값:
- 1(단일 클러스터 웨어하우스)
 - 팁 - Snowflake Enterprise Edition 이상의 경우, 다중 클러스터 웨어하우스의 고가용성과 최적의 성능을 유지하는 데 도움이 되도록 항상 - 1보다 큰 값을 설정하는 것이 좋습니다. 이는 또한 드물긴 하지만 클러스터에 장애가 발생하는 경우에도 연속성 보장에 도움이 됩니다.
- MIN_CLUSTER_COUNT = num
- 멀티 클러스터 웨어하우스의 최소 클러스터 수를 지정합니다(멀티 클러스터 웨어하우스에만 적용됨). - 유효한 값:
- 1을- MAX_CLUSTER_COUNT의 값으로 설정합니다.- MAX_CLUSTER_COUNT의 상한은 웨어하우스 크기에 따라 다릅니다.- 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:- 웨어하우스를 일시 중단하는 백그라운드 프로세스는 약 30초마다 실행되므로 이 속성의 설정은 웨어하우스 일시 중단을 정밀하게 제어하기 위한 것이 아닙니다. 
- 30보다 작은 값 또는 30의 배수가 아닌 값을 설정하는 것은 허용되지만, 웨어하우스 일시 중단의 30초 폴링 간격으로 인해 예상되는 동작이 발생하지 않을 수 있습니다. 
- 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 섹션을 참조하십시오. 
액세스 제어 요구 사항¶
이 작업을 실행하는 데 사용되는 역할 에는 최소한 다음 권한 이 있어야 합니다.
| 권한 | 오브젝트 | 참고 | 
|---|---|---|
| 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. | 
| OWNERSHIP | 웨어하우스 | 기존 웨어하우스에 대한 CREATE OR ALTER WAREHOUSE 문을 실행하는 데 필요한 필수입니다. OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege). | 
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
일반적인 사용법 노트¶
- 가상 웨어하우스를 만들면 현재 세션의 사용 중인 웨어하우스로 자동으로 설정됩니다(웨어하우스에 USE WAREHOUSE 명령을 사용하는 것과 같음). - 현재 세션에 사용 중인 웨어하우스를 변경하려면 CREATE WAREHOUSE 문 뒤에 명시적 USE WAREHOUSE 문을 실행합니다. 예를 들어, 웨어하우스 - my_wh를 생성하지만 추가 문을 실행할 때는- my_wh가 아닌 현재 웨어하우스를 계속 사용합니다.- SET current_wh_name = (SELECT CURRENT_WAREHOUSE()); CREATE OR REPLACE WAREHOUSE my_wh WAREHOUSE_SIZE = 'XSMALL'; USE WAREHOUSE IDENTIFIER($current_wh_name); 
- 메타데이터 관련: - 주의 - 고객은 Snowflake 서비스를 사용할 때 개인 데이터(사용자 오브젝트 제외), 민감한 데이터, 수출 통제 대상 데이터 또는 기타 규제 데이터가 메타데이터로 입력되지 않도록 해야 합니다. 자세한 내용은 Snowflake의 메타데이터 필드 섹션을 참조하십시오. 
- OR REPLACE를 사용하는 것은 기존 웨어하우스에서 DROP WAREHOUSE 를 사용한 다음 같은 이름으로 새 웨어하우스를 만드는 것과 같습니다.- CREATE OR REPLACE <오브젝트> 문은 원자성입니다. 즉, 오브젝트가 바뀔 때 단일 트랜잭션으로 이전 오브젝트가 삭제되고 새 오브젝트가 생성됩니다. - 삭제된 웨어하우스에서 실행 중인 모든 쿼리가 중단됩니다. 
- OR REPLACE및- IF NOT EXISTS절은 상호 배타적입니다. 두 문자를 같은 문에 함께 사용할 수 없습니다.
- Snowpark에 최적화된 가상 웨어하우스를 처음 만들고 재개하는 시간이 표준 웨어하우스보다 더 오래 걸릴 수 있습니다. 
CREATE OR ALTER WAREHOUSE 사용법 노트¶
제한 사항
- ALTER WAREHOUSE 명령의 모든 제한 사항이 적용됩니다. 
- INITIALLY_SUSPENDED 속성은 변경할 수 없습니다(SET 또는 UNSET). 
웨어하우스 매개 변수 및 속성
- 수정된 웨어하우스 정의에 이전에 설정된 속성이나 매개 변수가 없으면 설정이 해제됩니다. 
- 명시적 매개 변수 값을 설정 해제하면 기본 매개 변수 값으로 설정됩니다. 
데이터 거버넌스
- CREATE OR ALTER WAREHOUSE 문을 사용하여 웨어하우스에서 태그 또는 정책을 설정하거나 설정 해제하는 기능을 지원되지 않습니다. 
- 기존 정책이나 태그는 CREATE OR ALTER WAREHOUSE 문으로 변경할 수 없으며 변경되지 않은 상태로 유지됩니다. 
청구 및 가격¶
Snowpark에 최적화된 웨어하우스 크레딧 사용량에 대한 정보는 Snowflake서비스 사용 테이블 의 Table 1 섹션을 참조하세요.
예¶
기본 예제¶
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;
x86 Python이 필요한 Snowpark 워크로드를 위해 256GB 메모리를 가진 so_warehouse 라는 X-Large Snowpark 최적화 웨어하우스를 만듭니다.
CREATE WAREHOUSE so_warehouse WITH
  WAREHOUSE_TYPE = 'SNOWPARK-OPTIMIZED'
  WAREHOUSE_SIZE = xlarge
  RESOURCE_CONSTRAINT = 'MEMORY_16X_x86';
CREATE OR ALTER WAREHOUSE 예제¶
간단한 웨어하우스 만들기¶
CREATE OR ALTER WAREHOUSE so_warehouse
  WAREHOUSE_TYPE = 'SNOWPARK_OPTIMIZED'
  WAREHOUSE_SIZE = 'X-LARGE'
  RESOURCE_CONSTRAINT = 'MEMORY_16X_X86'
  AUTO_RESUME = TRUE
  COMMENT = 'Snowpark warehouse for ingestion';
CREATE OR ALTER WAREHOUSE so_warehouse
  WAREHOUSE_TYPE = 'SNOWPARK-OPTIMIZED'
  WAREHOUSE_SIZE = 'X-LARGE'
  RESOURCE_CONSTRAINT = 'MEMORY_16X_X86'
  AUTO_RESUME = FALSE
  COMMENT = 'Snowpark warehouse for ingestion (disabled for auto-resume)';
