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 ]
Copy

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>'
Copy
objectParams ::=
  MAX_CONCURRENCY_LEVEL = <num>
  STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = <num>
  STATEMENT_TIMEOUT_IN_SECONDS = <num>
Copy

Paramètres

name

Spé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_name

Spé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_constant

Spé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'

  • SMALL

  • MEDIUM

  • LARGE

  • XLARGE , '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_COUNT et MAX_CLUSTER_COUNT à des fins d’optimisation de la concurrence.

MAX_CLUSTER_COUNT = num

Spé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_COUNT et MAX_CLUSTER_COUNT. Un entrepôt interactif multi-clusters ne s’adapte pas automatiquement à la hausse ou à la baisse.

MIN_CLUSTER_COUNT = num

Spé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_COUNT et MAX_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 (si AUTO_RESUME est défini sur TRUE).

Par défaut:

TRUE

RESOURCE_MONITOR = monitor_name

Indique 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 = num

Spécifie le niveau de concurrence pour les instructions SQL exécutées par le cluster d’entrepôt interactif.

STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = num

Spé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 = num

Spé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 TABLES, si elle est utilisée.

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 SUSPENDED par 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 TABLES lors 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';
Copy

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;
Copy

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';
Copy

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);
Copy