- Catégories :
CREATE WAREHOUSE¶
Crée un nouvel entrepôt virtuel dans le système.
La création initiale d’un entrepôt virtuel pourrait prendre un certain temps pour approvisionner les serveurs, à moins que l’entrepôt soit créé initialement dans un état SUSPENDED
.
- Voir aussi :
Syntaxe¶
CREATE [ OR REPLACE ] WAREHOUSE [ IF NOT EXISTS ] <name>
[ [ WITH ] objectProperties ]
[ objectParams ]
Où :
objectProperties ::= WAREHOUSE_SIZE = XSMALL | SMALL | MEDIUM | LARGE | XLARGE | XXLARGE | XXXLARGE | X4LARGE MAX_CLUSTER_COUNT = <num> MIN_CLUSTER_COUNT = <num> SCALING_POLICY = STANDARD | ECONOMY AUTO_SUSPEND = <num> | NULL AUTO_RESUME = TRUE | FALSE INITIALLY_SUSPENDED = TRUE | FALSE RESOURCE_MONITOR = <monitor_name> COMMENT = '<string_literal>'objectParams ::= MAX_CONCURRENCY_LEVEL = <num> STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = <num> STATEMENT_TIMEOUT_IN_SECONDS = <num>
Paramètres requis¶
nom
Identificateur de l’entrepôt virtuel ; doit être unique pour votre compte.
De plus, l’identificateur doit commencer par un caractère alphabétique et ne peut pas contenir d’espaces ou de caractères spéciaux à moins que toute la chaîne d’identificateur soit délimitée par des guillemets doubles (p. ex.
"My object"
). Les identificateurs entre guillemets doubles sont également sensibles à la casse.Pour plus de détails, voir Exigences relatives à l’identificateur.
Propriétés facultatives (objectProperties
)¶
WAREHOUSE_SIZE = XSMALL | SMALL | MEDIUM | LARGE | XLARGE | XXLARGE | XXXLARGE | X4LARGE
Spécifie la taille de l’entrepôt virtuel. La taille détermine le nombre de serveurs dans chaque cluster de l’entrepôt et, par conséquent, le nombre de crédits consommés pendant le fonctionnement de l’entrepôt.
- Valeurs valides
Valeurs prises en charge
Synonymes
XSMALL
'X-SMALL'
SMALL
MEDIUM
LARGE
XLARGE
'X-LARGE'
XXLARGE
X2LARGE
,'2X-LARGE'
XXXLARGE
X3LARGE
,'3X-LARGE'
X4LARGE
'4X-LARGE'
- Par défaut
XSMALL
Note
Pour utiliser une valeur contenant un trait d’union (par exemple
'2X-LARGE'
), vous devez la mettre entre guillemets simples, comme indiqué.MAX_CLUSTER_COUNT = nb
Spécifie le nombre maximum de clusters de serveurs pour l’entrepôt.
- Valeurs valides
1
jusqu’à10
Notez que spécifier une valeur supérieure à
1
indique que l’entrepôt est un entrepôt multi-clusters ; cependant, la valeur ne peut être définie que sur une valeur supérieure dans Snowflake Enterprise Edition (ou supérieure).Pour plus d’informations, voir Entrepôts multi-clusters.
- Par défaut
1
(entrepôt à un seul cluster)
Astuce
Pour Snowflake Enterprise Edition (ou une version supérieure), nous recommandons de toujours régler la valeur supérieure à
1
pour aider à maintenir la haute disponibilité et la performance optimale de l’entrepôt. Cela permet également d’assurer la continuité dans l’éventualité peu probable d’une défaillance de cluster.MIN_CLUSTER_COUNT = nb
Spécifie le nombre minimum de clusters de serveurs pour l’entrepôt (s’applique uniquement aux entrepôts à plusieurs clusters).
- Valeurs valides
1
jusqu’à10
Cependant, notez que
MIN_CLUSTER_COUNT
doit être égal ou inférieur àMAX_CLUSTER_COUNT
:Si les deux paramètres sont égaux, l’entrepôt fonctionne en mode maximisé.
Si
MIN_CLUSTER_COUNT
est inférieur àMAX_CLUSTER_COUNT
, l’entrepôt fonctionne en mode Mise à l’échelle automatique.
Pour plus d’informations, voir Entrepôts multi-clusters.
- Par défaut
1
SCALING_POLICY = STANDARD | ECONOMY
Spécifie la politique de démarrage et d’arrêt automatiques des clusters dans un entrepôt multi-clusters fonctionnant en mode « Mise à l’échelle automatique ».
- Valeurs valides
STANDARD
: minimise les files d’attente en démarrant des clusters.ECONOMY
: conserve les crédits en préférant garder les clusters en cours d’exécution entièrement chargés.
Pour une description plus détaillée, voir Définition de la politique de mise à l’échelle d’un entrepôt multi-clusters .
- Par défaut
STANDARD
AUTO_SUSPEND = nb | NULL
Indique le nombre de secondes d’inactivité après lesquelles un entrepôt est automatiquement suspendu.
- Valeurs valides
Tout nombre entier supérieur à
0
ouNULL
:Définir une valeur inférieure à
60
est autorisé mais cette action est susceptible de ne pas déclencher le comportement escompté/souhaité car le processus d’arrière-plan qui suspend un entrepôt s’exécute environ toutes les 60 secondes et n’est donc pas destiné à autoriser le contrôle exact sur la suspension d’entrepôt.La définition d’une valeur
NULL
signifie que l’entrepôt n’est jamais suspendu.
- Par défaut
600
(l’entrepôt est automatiquement suspendu après 10 minutes d’inactivité)
Important
Définir la valeur
AUTO_SUSPEND
surNULL
n’est pas recommandé à moins que vos charges de travail de requête nécessitent un entrepôt en cours d’exécution continue. Notez que cela peut entraîner une consommation importante de crédit (et des charges correspondantes), en particulier pour les grands entrepôts.AUTO_RESUME = TRUE | FALSE
Indique s’il faut reprendre automatiquement un entrepôt lorsqu’une instruction SQL lui est soumise (par exemple, une requête).
- Valeurs valides
TRUE
: l’entrepôt reprend lorsqu’une nouvelle requête est soumise.FALSE
: l’entrepôt ne reprend que lorsqu’il est explicitement repris en utilisant ALTER WAREHOUSE ou via l’interface Web de Snowflake.
- Par défaut
TRUE
(l’entrepôt reprend automatiquement lorsqu’une instruction SQL lui est soumise)
INITIALLY_SUSPENDED = TRUE | FALSE
Indique si l’entrepôt est initialement créé à l’état « Suspendu ».
- Valeurs valides
TRUE
: l’entrepôt est créé, mais suspendu.FALSE
: l’entrepôt commence à être exécuté après sa création.
- Par défaut
FALSE
RESOURCE_MONITOR = string
Spécifie le nom d’un moniteur de ressources explicitement affecté à l’entrepôt. Lorsqu’un moniteur de ressources est explicitement affecté à un entrepôt, il contrôle les crédits mensuels utilisés par l’entrepôt (et tous les autres entrepôts auxquels le moniteur est affecté).
- Valeurs valides
Tout moniteur de ressources existant.
Pour plus de détails, voir Travailler avec des moniteurs de ressources.
- Par défaut
Aucune valeur (aucun moniteur de ressources affecté à l’entrepôt)
Astuce
Pour afficher tous les moniteurs de ressources et leurs identificateurs, utilisez la commande SHOW RESOURCE MONITORS.
COMMENT = 'litéral_chaine'
Spécifie un commentaire pour l’entrepôt.
Paramètres facultatifs (objectParams
)¶
MAX_CONCURRENCY_LEVEL = nb
Paramètre d’objet qui spécifie le niveau de simultanéité des instructions SQL (requêtes et DML) exécutées par un cluster d’entrepôts.
Pour une description détaillée de ce paramètre, voir MAX_CONCURRENCY_LEVEL.
STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = nb
Paramètre objet qui spécifie le temps, en secondes, pendant lequel une instruction SQL (requête, DDL, DML, etc.) peut être mise en file d’attente sur un entrepôt avant qu’elle soit annulée par le système.
Pour une description détaillée de ce paramètre, voir STATEMENT_QUEUED_TIMEOUT_IN_SECONDS.
STATEMENT_TIMEOUT_IN_SECONDS = nb
Paramètre objet qui spécifie le temps, en secondes, au bout duquel une instruction SQL en cours d’exécution (requête, DDL, DML, etc.) est annulée par le système.
Pour une description détaillée de ce paramètre, voir STATEMENT_TIMEOUT_IN_SECONDS.
Notes sur l’utilisation¶
La création d’un entrepôt virtuel le définit automatiquement comme entrepôt actif/actuel pour la session en cours (équivalent à l’utilisation de la commande USE WAREHOUSE pour l’entrepôt).
Exemples¶
Créer un entrepôt X-Large :
CREATE OR REPLACE WAREHOUSE my_wh WITH WAREHOUSE_SIZE='X-LARGE';
Créer un grand entrepôt dans un état suspendu :
CREATE OR REPLACE WAREHOUSE my_wh WAREHOUSE_SIZE=LARGE INITIALLY_SUSPENDED=TRUE;