CREATE INTERACTIVE WAREHOUSE¶
创建一个新的交互式 虚拟仓库,针对低延迟、高并发工作负载以及交互式表进行了优化。
交互式仓库旨在在使用交互式表时提供最佳查询性能。交互式表通过智能缓存和优化,为经常访问的数据提供快速查询响应。
- 另请参阅:
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> 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关键字创建的交互式表。如果省略此子句,可以稍后使用 ALTER WAREHOUSE 配合
ADD TABLES子句关联交互式表。缓存预热可能需要较长时间,具体取决于数据量大小。
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使用相同的值。多群集交互式仓库不会自动进行扩展或缩减。RESOURCE_MONITOR = monitor_name指定要分配给交互式仓库的资源监视器标识符,用于控制 Credit 的使用。
- 有效值:
任意现有资源监视器。
- 默认值:
无值(未分配资源监视器)
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 = num指定 SQL 语句在被取消前可排队的时间(以秒为单位)。
STATEMENT_TIMEOUT_IN_SECONDS = num指定运行中的 SQL 语句被取消前的时间(以秒为单位)。交互式仓库的最大超时时间为五秒。任何超过该都将被忽略。
访问控制要求¶
用于执行此 SQL 命令的 角色 必须至少具有以下 一项 权限:
权限 |
对象 |
备注 |
|---|---|---|
CREATE WAREHOUSE |
账户 |
创建任何仓库(包括交互式仓库)时所必需的。 |
USAGE |
交互式表 |
如果在 |
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
使用说明¶
交互式仓库默认以
SUSPENDED状态创建。使用 ALTER WAREHOUSE 和 RESUME 子句来启动仓库。指定 TABLES 子句后,会震碎所指定的交互式表立即开始缓存预热。此过程可能需要较长时间,具体取决于数据大小。
交互式仓库只能查询交互式表。若要查询标准表,请使用 CREATE WAREHOUSE 创建的标准仓库。
交互式仓库支持多群集配置,以处理高并发工作负载。
如果在创建时未指定
TABLES子句,可以稍后使用 ALTER WAREHOUSE 配合 ADD TABLES 子句将交互式表关联到仓库。
计费和定价¶
有关交互式仓库的计费和定价注意事项的信息,请参阅 成本和计费注意事项。
示例¶
创建与特定交互式表关联的交互式仓库:
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);