Snowpark-Optimized Warehouses¶
Snowpark-Optimized Warehouses 可让您在单节点实例上为工作负载配置可用内存资源和 CPU 架构。
何时使用 Snowpark 优化型仓库¶
虽然 Snowpark 工作负载可以在标准仓库和 Snowpark-Optimized Warehouses 上运行,但建议使用 Snowpark-Optimized Warehouses 来运行 Snowpark 工作负载,例如对内存需求较大或依赖于特定 CPU 架构的代码。工作负载示例包括在单个虚拟仓库节点上使用 存储过程 进行机器学习 (ML) 训练的用例。使用 UDF 或 UDTF 的 Snowpark 工作负载也可能从 Snowpark-Optimized Warehouses 中受益。而不使用 Snowpark 的工作负载可能无法从在 Snowpark-Optimized Warehouses 上运行中获益。
备注
与标准仓库相比,Snowpark 优化型虚拟仓库的初始创建和恢复可能需要更长的时间。
Snowpark-Optimized Warehouses 的配置选项¶
与标准仓库相比,Snowpark 优化型仓库的默认配置为每个节点提供 16 倍的内存。您可以选择为每个节点配置额外内存,并使用 resource_constraint
属性指定 CPU 架构。可使用以下选项:
内存(最多) |
CPU 架构 |
所需的最小仓库规模 |
---|---|---|
16GB |
默认或 x86 |
XSMALL |
256GB |
默认或 x86 |
M |
1TB [1] |
默认或 x86 |
L |
创建 Snowpark 优化型仓库¶
要创建新的 Snowpark-Optimized Warehouses,您可以在以下界面中设置仓库类型属性。
运行 CREATE WAREHOUSE 命令时,将 WAREHOUSE_TYPE 属性设置为 'SNOWPARK-OPTIMIZED'
。例如:
CREATE OR REPLACE WAREHOUSE snowpark_opt_wh WITH
WAREHOUSE_SIZE = 'MEDIUM'
WAREHOUSE_TYPE = 'SNOWPARK-OPTIMIZED';
通过指定资源约束 MEMORY_16X_X86
,创建一个具有 256 GB 内存的大型 Snowpark-Optimized Warehouses so_warehouse
:
CREATE WAREHOUSE so_warehouse WITH
WAREHOUSE_SIZE = 'LARGE'
WAREHOUSE_TYPE = 'SNOWPARK-OPTIMIZED'
RESOURCE_CONSTRAINT = 'MEMORY_16X_X86';
备注
默认资源约束为 MEMORY_16X
。
在构造 仓库 对象时,将 warehouse_type
属性设置为 'SNOWPARK-OPTIMIZED'
。
然后,将此 Warehouse
对象传递到 WarehouseCollection.create 方法,以在 Snowflake 中创建仓库。例如:
from snowflake.core import CreateMode
from snowflake.core.warehouse import Warehouse
my_wh = Warehouse(
name="snowpark_opt_wh",
warehouse_size="MEDIUM",
warehouse_type="SNOWPARK-OPTIMIZED"
)
root.warehouses.create(my_wh, mode=CreateMode.or_replace)
备注
资源约束目前在 Snowflake Python APIs 中不受支持。
修改 Snowpark 优化型仓库属性¶
要修改仓库属性(包括仓库类型),您可以使用以下界面。
备注
只有处于 SUSPENDED
状态的仓库才支持更改仓库类型。要在更改 warehouse_type
属性之前暂停仓库,请执行以下操作:
ALTER WAREHOUSE snowpark_opt_wh SUSPEND;
root.warehouses["snowpark_opt_wh"].suspend()
使用 ALTER WAREHOUSE 命令修改 Snowpark-Optimized Warehouses so_warehouse
的内存资源和 CPU 架构:
ALTER WAREHOUSE so_warehouse SET
RESOURCE_CONSTRAINT = 'MEMORY_1X_x86';
资源约束目前在 Snowflake Python APIs 中不受支持。
使用 Snowpark Python 存储过程来运行 ML 训练工作负载¶
有关机器学习模型和 Snowpark Python 的信息,请参阅 使用 Snowpark Python 训练机器学习模型。
Snowpark-Optimized Warehouses 的计费¶
有关 Snowpark 优化型仓库 Credit 消耗量的信息,请参阅 Snowflake 服务消耗表 中的 Table 1(a): Snowflake Credit Table for Virtual Warehouse Services
。
区域可用性¶
Snowpark-Optimized Warehouses 可在 AWS、Azure 和 Google Cloud [1] 的所有区域使用。