Entrepôts optimisés par Snowpark¶
Les entrepôts optimisés par Snowpark vous permettent de configurer les ressources de la mémoire disponibles et l’architecture du CPU sur une instance à nœud unique pour vos charges de travail.
Quand utiliser un entrepôt optimisé pour Snowpark ?¶
Bien que les charges de travail Snowpark puissent être exécutées à la fois sur des entrepôts standard et optimisés pour Snowpark, les entrepôts optimisés pour Snowpark sont recommandés pour l’exécution des charges de travail Snowpark telles que le code qui a de grandes exigences en matière de mémoire ou des dépendances à une architecture CPU spécifique. Parmi les exemples de charges de travail, citons la formation au machine learning (ML), les cas d’utilisation utilisant une procédure stockée sur un seul nœud d’entrepôt virtuel. Les charges de travail Snowpark, qui utilisent des UDF ou des UDTF, peuvent également bénéficier d’entrepôts optimisés par Snowpark. Les charges de travail qui n’utilisent pas Snowpark pourraient ne pas bénéficier de l’exécution sur des entrepôts optimisés pour Snowpark.
Note
La création initiale et la reprise d’un entrepôt virtuel optimisé par Snowpark peuvent prendre plus de temps que les entrepôts standard.
Options de configuration pour les entrepôts optimisés par Snowpark¶
La configuration par défaut d’un entrepôt optimisé par Snowpark offre 16 fois plus de mémoire par nœud qu’un entrepôt standard. Vous pouvez éventuellement configurer une mémoire supplémentaire par nœud et spécifier l’architecture du CPU à l’aide de la propriété resource_constraint
. Les options suivantes sont disponibles :
Mémoire (jusqu’à) |
Architecture CPU |
Taille minimale d’entrepôt requise |
---|---|---|
16GB |
Par défaut ou x86 |
XSMALL |
256GB |
Par défaut ou x86 |
M |
1TB [1] |
Par défaut ou x86 |
L |
Création d’un entrepôt optimisé pour Snowpark¶
Pour créer un nouvel entrepôt optimisé par Snowpark, vous pouvez définir la propriété du type d’entrepôt dans les interfaces suivantes.
Définissez la propriété WAREHOUSE_TYPE sur 'SNOWPARK-OPTIMIZED'
lors de l’exécution de la commande CREATE WAREHOUSE. Par exemple :
CREATE OR REPLACE WAREHOUSE snowpark_opt_wh WITH
WAREHOUSE_SIZE = 'MEDIUM'
WAREHOUSE_TYPE = 'SNOWPARK-OPTIMIZED';
Créez un grand entrepôt optimisé par Snowpark so_warehouse
avec 256 GB de mémoire en spécifiant la contrainte de ressource MEMORY_16X_X86
:
CREATE WAREHOUSE so_warehouse WITH
WAREHOUSE_SIZE = 'LARGE'
WAREHOUSE_TYPE = 'SNOWPARK-OPTIMIZED'
RESOURCE_CONSTRAINT = 'MEMORY_16X_X86';
Note
La contrainte de ressource par défaut est MEMORY_16X
.
Définissez la propriété warehouse_type
sur 'SNOWPARK-OPTIMIZED'
lors de la création d’un objet Entrepôt.
Ensuite, passez cet objet Warehouse
à la méthode WarehouseCollection.create pour créer l’entrepôt dans Snowflake. Par exemple :
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)
Note
Les contraintes de ressources ne sont actuellement pas prises en charge dans Snowflake Python APIs.
Modification des propriétés d’un entrepôt optimisé pour Snowpark¶
Pour modifier les propriétés de l’entrepôt, y compris le type d’entrepôt, vous pouvez utiliser les interfaces suivantes.
Note
La modification du type d’entrepôt n’est possible que pour un entrepôt à l’état SUSPENDED
. Pour suspendre un entrepôt avant de modifier la propriété warehouse_type
, exécutez l’opération suivante :
ALTER WAREHOUSE snowpark_opt_wh SUSPEND;
root.warehouses["snowpark_opt_wh"].suspend()
Utilisez la commande ALTER WAREHOUSE pour modifier les ressources mémoire et l’architecture CPU pour l’entrepôt optimisé par Snowpark so_warehouse
:
ALTER WAREHOUSE so_warehouse SET
RESOURCE_CONSTRAINT = 'MEMORY_1X_x86';
Les contraintes de ressources ne sont actuellement pas prises en charge dans Snowflake Python APIs.
Utilisation de procédures stockées Python Snowpark pour exécuter des charges de travail de formation ML¶
Pour des informations sur les modèles de machine learning et sur Snowpark Python, voir Formation de modèles de machine learning avec Snowpark Python.
Facturation des entrepôts optimisés pour Snowpark¶
Pour obtenir des informations sur la consommation de crédits de l’entrepôt optimisé par Snowpark, voir Table 1(a): Snowflake Credit Table for Virtual Warehouse Services
dans la Table de consommation du service Snowflake.
Disponibilité de la région¶
Les entrepôts virtuels optimisés par Snowpark sont disponibles dans toutes les régions sur AWS, Azure et Google Cloud [1].