CREATE INTERACTIVE WAREHOUSE¶
대화형 테이블을 사용한 대기 시간이 짧고 동시성이 높은 워크로드에 최적화되어 있는 새 대화형 :doc:`가상 웨어하우스</user-guide/warehouses-overview>`를 만듭니다.
대화형 웨어하우스는 지능형 캐싱 및 최적화를 통해 자주 액세스하는 데이터에 대한 빠른 쿼리 응답을 제공하는 대화형 테이블로 작업할 때 최적의 쿼리 성능을 제공하도록 설계되었습니다.
- 참고 항목:
CREATE WAREHOUSE , ALTER WAREHOUSE , DESCRIBE WAREHOUSE , DROP WAREHOUSE , SHOW WAREHOUSES , CREATE INTERACTIVE TABLE
구문¶
CREATE [ OR REPLACE ] INTERACTIVE WAREHOUSE [ IF NOT EXISTS ] <name>
[ TABLES ( <table_name> [ , <table_name> ... ] ) ]
[ [ WITH ] objectProperties ]
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ]
[ objectParams ]
여기서
objectProperties ::= WAREHOUSE_SIZE = { XSMALL | SMALL | MEDIUM | LARGE | XLARGE | XXLARGE | XXXLARGE | X4LARGE | X5LARGE | X6LARGE } MAX_CLUSTER_COUNT = <num> MIN_CLUSTER_COUNT = <num> AUTO_RESUME = { TRUE | FALSE } INITIALLY_SUSPENDED = { TRUE | FALSE } RESOURCE_MONITOR = <monitor_name> COMMENT = '<string_literal>'objectParams ::= MAX_CONCURRENCY_LEVEL = <num> STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = <num> STATEMENT_TIMEOUT_IN_SECONDS = <num>
매개 변수¶
name대화형 웨어하우스의 식별자를 지정합니다. 식별자는 계정 내에서 고유해야 합니다.
자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.
TABLES ( ... )대화형 웨어하우스와 즉시 연결할 대화형 테이블 이름의 쉼표로 구분된 목록을 선택적으로 지정합니다. 이 절을 사용하면 웨어하우스가 생성될 때 지정된 테이블에 대한 캐시 워밍업 프로세스가 시작됩니다.
table_name웨어하우스와 연결할 대화형 테이블의 식별자를 지정합니다. 여러 테이블 이름을 쉼표로 구분하여 지정할 수 있습니다.
참고
지정된 모든 테이블은
INTERACTIVE키워드로 생성된 대화형 테이블이어야 합니다.이 절을 생략하면 나중에
ADD TABLES절과 함께 :doc:`alter-warehouse`를 사용하여 대화형 테이블을 연결할 수 있습니다.캐시 워밍업은 데이터 크기에 따라 상당한 시간이 걸릴 수 있습니다.
WAREHOUSE_SIZE = string_constant대화형 웨어하우스의 크기를 지정합니다. 대화형 웨어하우스는 대화형 워크로드에 최적화된 특정 크기를 지원합니다.
- 유효한 값:
XSMALL,'X-SMALL'SMALLMEDIUMLARGEXLARGE,'X-LARGE'XXLARGE,X2LARGE,'2X-LARGE'XXXLARGE,X3LARGE,'3X-LARGE'
- 기본값:
XSMALL
참고
하이픈을 포함한 값(예:
'2X-LARGE')을 사용하려면 표시된 대로 값을 작은따옴표로 묶어야 합니다.워크로드 요구 사항에 맞는 웨어하우스 크기를 선택합니다. 동시성을 최적화하기 위해
MIN_CLUSTER_COUNT및MAX_CLUSTER_COUNT속성을 조정할 수 있습니다.
MAX_CLUSTER_COUNT = num멀티 클러스터 대화형 웨어하우스의 최대 클러스터 수를 지정합니다.
- 유효한 값:
``1``~``10``(웨어하우스 크기에 따라 다름)
- 기본값:
1(단일 클러스터 웨어하우스)
대화형 웨어하우스의 경우
MIN_CLUSTER_COUNT및 ``MAX_CLUSTER_COUNT``에 동일한 값을 사용합니다. 멀티 클러스터 대화형 웨어하우스는 자동으로 확장되거나 축소되지 않습니다.MIN_CLUSTER_COUNT = num멀티 클러스터 웨어하우스의 최소 클러스터 수를 지정합니다.
- 유효한 값:
``1``~MAX_CLUSTER_COUNT 값
- 기본값:
1
대화형 웨어하우스의 경우
MIN_CLUSTER_COUNT및 ``MAX_CLUSTER_COUNT``에 동일한 값을 사용합니다. 멀티 클러스터 대화형 웨어하우스는 자동으로 확장되거나 축소되지 않습니다.AUTO_RESUME = { TRUE | FALSE }쿼리가 제출될 때 대화형 웨어하우스를 자동으로 재개할지 여부를 지정합니다.
- 유효한 값:
TRUE: SQL 문을 제출하면 웨어하우스가 자동으로 재개됩니다.FALSE: :doc:`alter-warehouse`를 사용하여 명시적으로 재개된 경우에만 웨어하우스가 재개됩니다.
- 기본값:
TRUE
INITIALLY_SUSPENDED = { TRUE | FALSE }대화형 웨어하우스가 일시 중단된 상태로 생성되는지 여부를 지정합니다.
RESOURCE_MONITOR = monitor_name크레딧 사용 제어를 위해 대화형 웨어하우스에 할당할 리소스 모니터의 식별자를 지정합니다.
- 유효한 값:
기존의 리소스 모니터
- 기본값:
값 없음(할당된 리소스 모니터 없음)
COMMENT = 'string_literal'대화형 웨어하우스에 대한 설명을 지정합니다.
TAG ( tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] )태그 이름과 태그 문자열 값을 지정합니다.
태그 값은 항상 문자열이며, 태그 값의 최대 문자 수는 256자입니다.
문에서 태그를 지정하는 방법에 대한 자세한 내용은 Tag quotas 섹션을 참조하십시오.
MAX_CONCURRENCY_LEVEL = num대화형 웨어하우스 클러스터에서 실행되는 SQL 문의 동시성 수준을 지정합니다.
STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = numSQL 문이 취소되기 전에 큐에 대기될 수 있는 시간(초)을 지정합니다.
STATEMENT_TIMEOUT_IN_SECONDS = num실행 중인 SQL 문이 취소되는 시간(초)을 지정합니다. 대화형 웨어하우스의 최대 시간 제한 간격은 5초입니다. 더 큰 값은 무시됩니다.
액세스 제어 요구 사항¶
이 SQL 명령을 실행하는 데 사용되는 역할 에는 다음 권한 중 최소한 하나 이상 이 있어야 합니다.
권한 |
오브젝트 |
참고 |
|---|---|---|
CREATE WAREHOUSE |
계정 |
대화형 웨어하우스를 포함한 모든 웨어하우스를 만드는 데 필요합니다. |
USAGE |
대화형 테이블 |
|
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
사용법 노트¶
대화형 웨어하우스는 기본적으로
SUSPENDED상태에서 생성됩니다. RESUME 절과 함께 :doc:`alter-warehouse`를 사용하여 웨어하우스를 시작합니다.TABLES 절을 지정할 때 지정된 대화형 테이블에 대해 캐시 워밍업이 즉시 시작됩니다. 이 프로세스는 데이터 크기에 따라 상당한 시간이 걸릴 수 있습니다.
대화형 웨어하우스는 대화형 테이블만 쿼리할 수 있습니다. 표준 테이블을 쿼리하려면 :doc:`create-warehouse`로 생성된 표준 웨어하우스를 사용하세요.
대화형 웨어하우스는 동시성이 높은 워크로드를 처리하기 위한 멀티 클러스터 구성을 지원합니다.
생성하는 동안
TABLES절을 지정하지 않으면 나중에 ADD TABLES 절에서 :doc:`alter-warehouse`를 사용하여 대화형 테이블을 연결할 수 있습니다.
예¶
특정 대화형 테이블과 연결된 대화형 웨어하우스를 만듭니다.
CREATE OR REPLACE INTERACTIVE WAREHOUSE sales_interactive_wh
TABLES (orders, customers, products)
WAREHOUSE_SIZE = 'MEDIUM'
COMMENT = 'Interactive warehouse for sales team analytics';
연결된 테이블 없이 대화형 웨어하우스 만듭니다(나중에 추가 예정).
CREATE INTERACTIVE WAREHOUSE analytics_interactive_wh
WAREHOUSE_SIZE = 'LARGE'
MAX_CLUSTER_COUNT = 3
MIN_CLUSTER_COUNT = 3;
리소스 모니터링으로 대화형 웨어하우스를 만듭니다.
CREATE INTERACTIVE WAREHOUSE dev_interactive_wh
WAREHOUSE_SIZE = 'XSMALL'
RESOURCE_MONITOR = dev_resource_monitor
COMMENT = 'Development interactive warehouse';
대화형 웨어하우스를 재개하고 테이블을 연결합니다.
-- Resume the warehouse
ALTER WAREHOUSE sales_interactive_wh RESUME;
-- Add additional tables if needed
ALTER WAREHOUSE sales_interactive_wh ADD TABLES (inventory);