Snowpark-optimized warehouses¶
Snowpark-optimized warehouses let you configure the available memory resources and CPU architecture on a single-node instance for your workloads.
When to use a Snowpark-optimized warehouse¶
While Snowpark workloads can be run on both standard and Snowpark-optimized warehouses, Snowpark-optimized warehouses are recommended for running code, and recommended workloads that have large memory requirements or dependencies on a specific CPU architecture. Example workloads include ML training use cases using a stored procedure on a single virtual warehouse node. Snowpark workloads, utilizing UDF or UDTF, might also benefit from Snowpark-optimized warehouses.
Note
Initial creation and resumption of a Snowpark-optimized virtual warehouse might take longer than standard warehouses.
Configuration options for Snowpark-optimized warehouses¶
The default configuration for a Snowpark-optimized warehouse provides 16x memory per node compared to a standard warehouse. You can
optionally configure additional memory per node and specify CPU architecture using the resource_constraint
property. The following
options are available:
Memory (up to) |
CPU architecture |
Minimum warehouse size required |
---|---|---|
16GB |
Default or x86 |
XSMALL |
256GB |
Default or x86 |
M |
1TB [1] |
Default or x86 |
L |
Creating a Snowpark-optimized warehouse¶
Use the warehouse_type
property in the CREATE WAREHOUSE command to create a new Snowpark-optimized
warehouse.
Create a new Snowpark-optimized warehouse snowpark_opt_wh
:
CREATE OR REPLACE WAREHOUSE snowpark_opt_wh WITH
WAREHOUSE_SIZE = 'MEDIUM'
WAREHOUSE_TYPE = 'SNOWPARK-OPTIMIZED';
This statement creates an Snowpark optimized warehouse as specified and with RESOURCE_CONSTRAINT = MEMORY_16X;
Create a large Snowpark-optimized warehouse so_warehouse
with 256 GB of memory:
CREATE WAREHOUSE so_warehouse WITH
WAREHOUSE_SIZE = 'LARGE'
WAREHOUSE_TYPE = 'SNOWPARK-OPTIMIZED'
RESOURCE_CONSTRAINT = 'MEMORY_16X_X86';
Note
DEFAULT is MEMORY_16X.
Modifying Snowpark-optimized warehouse properties¶
The ALTER WAREHOUSE command can be used to modify warehouse properties, including the warehouse type.
Note
Changing the warehouse type using the ALTER WAREHOUSE command is only supported for a warehouse in the
SUSPENDED
state. To suspend a warehouse before changing the warehouse_type
property, execute the
following statement:
ALTER WAREHOUSE snowpark_opt_wh SUSPEND;
Modify the memory resources and CPU architecture for Snowpark-optimized warehouse so_warehouse
:
ALTER WAREHOUSE so_warehouse SET
RESOURCE_CONSTRAINT = 'MEMORY_1X_X86';
Using Snowpark Python Stored Procedures to run ML training workloads¶
For information on Machine Learning Models and Snowpark Python, see Training Machine Learning Models with Snowpark Python.
Billing for Snowpark-optimized warehouses¶
For information on Snowpark-optimized warehouse credit consumption see Table 1(a): Snowflake Credit Table for Virtual Warehouse Services
in the Snowflake Service Consumption Table.
Region availability¶
Snowpark-optimized warehouses are available in all regions across AWS, Azure, and Google Cloud [1].