CREATE INTERACTIVE WAREHOUSE¶
Crée un nouvel entrepôt virtuel interactif optimisé pour les charges de travail à faible latence et à forte concurrence avec des tables interactives.
Les entrepôts interactifs sont conçus pour offrir des performances optimales en matière de requêtes lorsque vous travaillez avec des tables interactives, qui fournissent des réponses rapides aux requêtes pour les données fréquemment consultées grâce à une mise en cache et une optimisation intelligentes.
- Voir aussi :
CREATE WAREHOUSE , ALTER WAREHOUSE , DESCRIBE WAREHOUSE , DROP WAREHOUSE , SHOW WAREHOUSES , CREATE INTERACTIVE TABLE
Syntaxe¶
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 ]
Où :
objectProperties ::= WAREHOUSE_SIZE = { XSMALL | SMALL | MEDIUM | LARGE | XLARGE | XXLARGE | XXXLARGE | X4LARGE | X5LARGE | X6LARGE } MAX_CLUSTER_COUNT = <num> MIN_CLUSTER_COUNT = <num> 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¶
nameSpécifie l’identificateur de l’entrepôt interactif. L’identificateur doit être unique au sein de votre compte.
Pour plus de détails, voir Exigences relatives à l’identificateur.
TABLES ( ... )Spécifie éventuellement une liste de noms de tables interactives séparés par des virgules à associer immédiatement à l’entrepôt interactif. L’utilisation de cette clause démarre le processus de prétraitement du cache pour les tables spécifiées lors de la création de l’entrepôt.
table_nameSpécifie l’identificateur d’une table interactive à associer à l’entrepôt. Vous pouvez spécifier plusieurs noms de tables séparés par des virgules.
Note
Toutes les tables spécifiées doivent être des tables interactives créées avec le mot-clé
INTERACTIVE.Si cette clause est omise, vous pouvez associer ultérieurement des tables interactives en utilisant ALTER WAREHOUSE avec la clause
ADD TABLES.Le prétraitement du cache peut prendre beaucoup de temps en fonction de la taille des données.
WAREHOUSE_SIZE = string_constantSpécifie la taille de l’entrepôt interactif. Les entrepôts interactifs prennent en charge des tailles spécifiques optimisées pour les charges de travail interactives.
- Valeurs valides:
XSMALL,'X-SMALL'SMALLMEDIUMLARGEXLARGE,'X-LARGE'XXLARGE,X2LARGE,'2X-LARGE'XXXLARGE,X3LARGE,'3X-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é.Sélectionnez une taille d’entrepôt en fonction de vos exigences en matière de charge de travail. Vous pouvez régler les propriétés
MIN_CLUSTER_COUNTetMAX_CLUSTER_COUNTà des fins d’optimisation de la concurrence.
MAX_CLUSTER_COUNT = numSpécifie le nombre maximum de clusters pour un entrepôt interactif multi-clusters.
- Valeurs valides:
1à10(en fonction de la taille de l’entrepôt)- Par défaut:
1(entrepôt à un seul cluster)
Pour un entrepôt interactif, utilisez la même valeur pour
MIN_CLUSTER_COUNTetMAX_CLUSTER_COUNT. Un entrepôt interactif multi-clusters ne s’adapte pas automatiquement à la hausse ou à la baisse.MIN_CLUSTER_COUNT = numSpécifie le nombre minimum de clusters pour un entrepôt interactif multi-clusters.
- Valeurs valides:
1à la valeur MAX_CLUSTER_COUNT- Par défaut:
1
Pour un entrepôt interactif, utilisez la même valeur pour
MIN_CLUSTER_COUNTetMAX_CLUSTER_COUNT. Un entrepôt interactif multi-clusters ne s’adapte pas automatiquement à la hausse ou à la baisse.AUTO_RESUME = { TRUE | FALSE }Indique s’il faut reprendre automatiquement l’entrepôt interactif lorsqu’une requête est soumise.
- Valeurs valides:
TRUE: L’entrepôt reprend automatiquement lorsqu’une instruction SQL est soumise.FALSE: L’entrepôt ne reprend que lorsqu’il est explicitement repris en utilisant ALTER WAREHOUSE.
- Par défaut:
TRUE
INITIALLY_SUSPENDED = { TRUE | FALSE }Indique si l’entrepôt interactif est créé dans un état suspendu.
- Valeurs valides:
TRUE: L’entrepôt est créé dans un état suspendu et doit être repris avant utilisation.FALSE: L’entrepôt est créé dans un état en cours d’exécution (siAUTO_RESUMEest défini surTRUE).
- Par défaut:
TRUE
RESOURCE_MONITOR = monitor_nameIndique l’identificateur d’un moniteur de ressources à attribuer à l’entrepôt interactif pour le contrôle de l’utilisation du crédit.
- Valeurs valides:
Tout moniteur de ressources existant
- Par défaut:
Aucune valeur (aucun moniteur de ressources attribué)
COMMENT = 'string_literal'Spécifie un commentaire pour l’entrepôt interactif.
TAG ( tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] )Spécifie le nom de la balise et la valeur de la chaîne de la balise.
La valeur de la balise est toujours une chaîne de caractères et le nombre maximum de caractères pour la valeur de la balise est 256.
Pour plus d’informations sur la spécification des balises dans une instruction, voir Tag quotas.
MAX_CONCURRENCY_LEVEL = numSpécifie le niveau de concurrence pour les instructions SQL exécutées par le cluster d’entrepôt interactif.
STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = numSpécifie le délai, en secondes, pendant lequel une instruction SQL peut être mise en file d’attente avant d’être annulée.
STATEMENT_TIMEOUT_IN_SECONDS = numSpécifie le délai, en secondes, après lequel une instruction SQL en cours d’exécution est annulée. Les entrepôts interactifs ont un délai d’expiration maximal de cinq secondes. Toute valeur supérieure est ignorée.
Exigences en matière de contrôle d’accès¶
Un rôle utilisé pour exécuter cette commande SQL doit avoir au moins l’un des privilèges suivants définis au minimum ainsi :
Privilège |
Objet |
Remarques |
|---|---|---|
CREATE WAREHOUSE |
Compte |
Requis pour créer n’importe quel entrepôt, y compris des entrepôts interactifs. |
USAGE |
Table interactive |
Requis sur chaque table interactive spécifiée dans la clause |
Pour obtenir des instructions sur la création d’un rôle personnalisé avec un ensemble spécifique de privilèges, voir Création de rôles personnalisés.
Pour des informations générales sur les rôles et les privilèges accordés pour effectuer des actions SQL sur des objets sécurisables, voir Aperçu du contrôle d’accès.
Notes sur l’utilisation¶
Les entrepôts interactifs sont créés dans un état
SUSPENDEDpar défaut. Utilisez ALTER WAREHOUSE avec la clause RESUME pour démarrer l’entrepôt.Lorsque vous spécifiez la clause TABLES, le prétraitement du cache commence immédiatement pour les tables interactives spécifiées. Ce processus peut prendre beaucoup de temps en fonction de la taille des données.
Les entrepôts interactifs peuvent uniquement interroger des tables interactives. Pour interroger des tables standard, utilisez un entrepôt standard créé avec CREATE WAREHOUSE.
Les entrepôts interactifs prennent en charge la configuration multi-clusters pour la gestion des charges de travail à forte concurrence.
Si vous ne spécifiez pas la clause
TABLESlors de la création, vous pouvez associer des tables interactives ultérieurement en utilisant ALTER WAREHOUSE avec la clause ADD TABLES.
Exemples¶
Créer un entrepôt interactif associé à des tables interactives spécifiques :
CREATE OR REPLACE INTERACTIVE WAREHOUSE sales_interactive_wh
TABLES (orders, customers, products)
WAREHOUSE_SIZE = 'MEDIUM'
COMMENT = 'Interactive warehouse for sales team analytics';
Créer un entrepôt interactif sans tables associées (à ajouter ultérieurement) :
CREATE INTERACTIVE WAREHOUSE analytics_interactive_wh
WAREHOUSE_SIZE = 'LARGE'
MAX_CLUSTER_COUNT = 3
MIN_CLUSTER_COUNT = 3;
Créer un entrepôt interactif avec un moniteur de ressources :
CREATE INTERACTIVE WAREHOUSE dev_interactive_wh
WAREHOUSE_SIZE = 'XSMALL'
RESOURCE_MONITOR = dev_resource_monitor
COMMENT = 'Development interactive warehouse';
Reprendre un entrepôt interactif et lui associer des tables :
-- Resume the warehouse
ALTER WAREHOUSE sales_interactive_wh RESUME;
-- Add additional tables if needed
ALTER WAREHOUSE sales_interactive_wh ADD TABLES (inventory);