CREATE INTERACTIVE WAREHOUSE

创建一个新的交互式 虚拟仓库,针对低延迟、高并发工作负载以及交互式表进行了优化。

交互式仓库旨在在使用交互式表时提供最佳查询性能。交互式表通过智能缓存和优化,为经常访问的数据提供快速查询响应。

另请参阅:

CREATE WAREHOUSEALTER WAREHOUSEDESCRIBE WAREHOUSEDROP WAREHOUSESHOW WAREHOUSESCREATE 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 ]
Copy

其中:

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>'
Copy
objectParams ::=
  MAX_CONCURRENCY_LEVEL = <num>
  STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = <num>
  STATEMENT_TIMEOUT_IN_SECONDS = <num>
Copy

参数

name

指定交互式仓库的标识符。标识符在您的账户中必须唯一。

有关更多详细信息,请参阅 标识符要求

TABLES ( ... )

(可选)指定以逗号分隔的交互式表名称列表,以立即与交互式仓库关联。使用此子句将在创建仓库时启动指定表的缓存预热过程。

table_name

指定要与仓库关联的交互式表标识符。可指定多个表名,用逗号分隔。

备注

  • 所有指定的表必须是使用 INTERACTIVE 关键字创建的交互式表。

  • 如果省略此子句,可以稍后使用 ALTER WAREHOUSE 配合 ADD TABLES 子句关联交互式表。

  • 缓存预热可能需要较长时间,具体取决于数据量大小。

WAREHOUSE_SIZE = string_constant

指定交互式仓库的规模。交互式仓库支持针对交互式工作负载优化的特定规模。

有效值:
  • XSMALL'X-SMALL'

  • SMALL

  • MEDIUM

  • LARGE

  • XLARGE'X-LARGE'

  • XXLARGEX2LARGE'2X-LARGE'

  • XXXLARGEX3LARGE'3X-LARGE'

默认值:

XSMALL

备注

  • 要使用包含连字符的值(例如 '2X-LARGE'),则必须将值放在单引号内,如下所示。

  • 选择符合工作负载需求的仓库规模。您可以调整 MIN_CLUSTER_COUNTMAX_CLUSTER_COUNT 属性以优化并发性。

MAX_CLUSTER_COUNT = num

指定多群集交互式仓库的最大群集数。

有效值:

1``10``(取决于仓库大小)

默认值:

1 (单集群仓库)

对于交互式仓库,MIN_CLUSTER_COUNTMAX_CLUSTER_COUNT 使用相同的值。多群集交互式仓库不会自动进行扩展或缩减。

MIN_CLUSTER_COUNT = num

为多群集交互式仓库指定最小群集数量。

有效值:

1 到 MAX_CLUSTER_COUNT 的值

默认值:

1

对于交互式仓库,MIN_CLUSTER_COUNTMAX_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

交互式表

如果在 TABLES 子句中指定了交互式表,则为必需。

有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色

有关对 安全对象 执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述

使用说明

  • 交互式仓库默认以 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';
Copy

创建一个暂未关联表的交互式仓库(表可稍后添加):

CREATE INTERACTIVE WAREHOUSE analytics_interactive_wh
  WAREHOUSE_SIZE = 'LARGE'
  MAX_CLUSTER_COUNT = 3
  MIN_CLUSTER_COUNT = 3;
Copy

创建具有资源监视功能的交互式仓库:

CREATE INTERACTIVE WAREHOUSE dev_interactive_wh
  WAREHOUSE_SIZE = 'XSMALL'
  RESOURCE_MONITOR = dev_resource_monitor
  COMMENT = 'Development interactive warehouse';
Copy

恢复交互式仓库并关联交互式表:

-- Resume the warehouse
ALTER WAREHOUSE sales_interactive_wh RESUME;

-- Add additional tables if needed
ALTER WAREHOUSE sales_interactive_wh ADD TABLES (inventory);
Copy
语言: 中文