CREATE INTERACTIVE WAREHOUSE¶
Cria um novo warehouse virtual interativo e otimizado para cargas de trabalho de baixa latência e alta simultaneidade com tabelas interativas.
Os warehouses interativos foram projetados para oferecer um ótimo desempenho de consulta ao trabalhar com tabelas interativas, que fornecem respostas de consulta rápidas para dados acessados com frequência, por meio de cache e otimização inteligentes.
- Consulte também:
CREATE WAREHOUSE , ALTER WAREHOUSE , DESCRIBE WAREHOUSE , DROP WAREHOUSE , SHOW WAREHOUSES , CREATE INTERACTIVE TABLE
Sintaxe¶
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 ]
Onde:
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>
Parâmetros¶
nameEspecifica o identificador do warehouse interativo. O identificador deve ser exclusivo em sua conta.
Para obter mais detalhes, consulte Requisitos para identificadores.
TABLES ( ... )Opcionalmente, especifica uma lista separada por vírgulas de nomes de tabelas interativas para associar imediatamente ao warehouse interativo. O uso dessa cláusula inicia o processo de aquecimento de cache para as tabelas especificadas quando o warehouse é criado.
table_nameEspecifica o identificador de uma tabela interativa a ser associada ao warehouse. Você pode especificar vários nomes de tabela separados por vírgulas.
Nota
Todas as tabelas especificadas devem ser interativas e criadas com a palavra-chave
INTERACTIVE.Se essa cláusula for omitida, você poderá associar tabelas interativas mais tarde usando ALTER WAREHOUSE com a cláusula
ADD TABLES.O aquecimento de cache pode levar um tempo significativo, dependendo do tamanho dos dados.
WAREHOUSE_SIZE = string_constantEspecifica o tamanho do warehouse interativo. Os warehouses interativos oferecem suporte a tamanhos específicos e otimizados para cargas de trabalho interativas.
- Valores válidos:
XSMALL,'X-SMALL'SMALLMEDIUMLARGEXLARGE,'X-LARGE'XXLARGE,X2LARGE,'2X-LARGE'XXXLARGE,X3LARGE,'3X-LARGE'
- Padrão:
XSMALL
Nota
Para usar um valor que contenha um hífen (por exemplo,
'2X-LARGE'), você deve incluir o valor entre aspas simples, como mostrado.Escolha o tamanho do warehouse de acordo com os seus requisitos de carga de trabalho. Você pode ajustar as propriedades
MIN_CLUSTER_COUNTeMAX_CLUSTER_COUNTque serão otimizadas para simultaneidade.
MAX_CLUSTER_COUNT = numEspecifica o número máximo de clusters para um warehouse interativo multicluster.
- Valores válidos:
1a10(dependendo do tamanho do warehouse)- Padrão:
1(warehouse monocluster)
Para um warehouse interativo, use o mesmo valor para
MIN_CLUSTER_COUNTeMAX_CLUSTER_COUNT. Um warehouse interativo multicluster não é dimensionado automaticamente.MIN_CLUSTER_COUNT = numEspecifica o número mínimo de clusters para um warehouse interativo multicluster.
- Valores válidos:
1é o valor de MAX_CLUSTER_COUNT.- Padrão:
1
Para um warehouse interativo, use o mesmo valor para
MIN_CLUSTER_COUNTeMAX_CLUSTER_COUNT. Um warehouse interativo multicluster não é dimensionado automaticamente.AUTO_RESUME = { TRUE | FALSE }Especifica se é para retomar automaticamente o warehouse interativo quando uma consulta é enviada.
- Valores válidos:
TRUE: o warehouse é retomado automaticamente quando uma instrução SQL é enviadaFALSE: o warehouse é retomado apenas quando isso é feito explicitamente usando ALTER WAREHOUSE
- Padrão:
TRUE
INITIALLY_SUSPENDED = { TRUE | FALSE }Especifica se o warehouse interativo é criado em um estado suspenso.
- Valores válidos:
TRUE: o warehouse é criado em estado suspenso e deve ser retomado antes do usoFALSE: o warehouse é criado no estado em execução (seAUTO_RESUMEéTRUE)
- Padrão:
TRUE
RESOURCE_MONITOR = monitor_nameEspecifica o identificador de um monitor de recursos a ser atribuído ao warehouse interativo para controle do uso de crédito.
- Valores válidos:
Qualquer monitor de recursos existente
- Padrão:
Sem valor (nenhum monitor de recursos atribuído)
COMMENT = 'string_literal'Especifica um comentário para o warehouse interativo.
TAG ( tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] )Especifica o nome da tag e o valor da cadeia de caracteres dela.
O valor de tag é sempre uma cadeia de caracteres, e o número máximo de caracteres do valor da tag é 256.
Para obter informações sobre como especificar tags em uma instrução, consulte Tag quotas.
MAX_CONCURRENCY_LEVEL = numEspecifica o nível de simultaneidade para instruções SQL executadas pelo cluster do warehouse interativo.
STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = numEspecifica por quanto tempo, em segundos, uma instrução SQL pode ficar na fila antes de ser cancelada.
STATEMENT_TIMEOUT_IN_SECONDS = numEspecifica após quanto tempo, em segundos, uma instrução SQL em execução será cancelada. Os warehouses interativos têm um intervalo máximo de tempo limite de cinco segundos. Valores maiores serão ignorados.
Requisitos de controle de acesso¶
Uma função usada para executar esse comando SQL deve ter pelo menos um dos seguintes privilégios, no mínimo:
Privilégio |
Objeto |
Notas |
|---|---|---|
CREATE WAREHOUSE |
Conta |
Necessário para criar warehouses, incluindo os interativos. |
USAGE |
Tabela interativa |
Necessário em cada tabela interativa especificada na cláusula |
Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.
Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.
Notas de uso¶
Os warehouses interativos são criados no estado
SUSPENDEDpor padrão. Use ALTER WAREHOUSE com a cláusula RESUME para iniciar o warehouse.Quando você especifica a cláusula TABLES, o aquecimento de cache começa imediatamente para as tabelas interativas especificadas. Esse processo pode levar um tempo significativo, dependendo do tamanho dos dados.
Os warehouses interativos só podem consultar tabelas interativas. Para consultar tabelas padrão, use um warehouse padrão criado com CREATE WAREHOUSE.
Os warehouses interativos oferecem suporte à configuração multicluster para processar as cargas de trabalho de alta simultaneidade.
Se você não especificar a cláusula
TABLESdurante a criação, poderá associar tabelas interativas posteriormente usando ALTER WAREHOUSE com a cláusula ADD TABLES.
Exemplos¶
Criar um warehouse interativo associado a tabelas interativas específicas:
CREATE OR REPLACE INTERACTIVE WAREHOUSE sales_interactive_wh
TABLES (orders, customers, products)
WAREHOUSE_SIZE = 'MEDIUM'
COMMENT = 'Interactive warehouse for sales team analytics';
Criar um warehouse interativo sem tabelas associadas (que serão adicionadas posteriormente):
CREATE INTERACTIVE WAREHOUSE analytics_interactive_wh
WAREHOUSE_SIZE = 'LARGE'
MAX_CLUSTER_COUNT = 3
MIN_CLUSTER_COUNT = 3;
Criar um warehouse interativo com monitoramento de recursos:
CREATE INTERACTIVE WAREHOUSE dev_interactive_wh
WAREHOUSE_SIZE = 'XSMALL'
RESOURCE_MONITOR = dev_resource_monitor
COMMENT = 'Development interactive warehouse';
Retomar um warehouse interativo e associar tabelas a ele:
-- Resume the warehouse
ALTER WAREHOUSE sales_interactive_wh RESUME;
-- Add additional tables if needed
ALTER WAREHOUSE sales_interactive_wh ADD TABLES (inventory);