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

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

Parâmetros

name

Especifica 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_name

Especifica 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_constant

Especifica 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'

  • SMALL

  • MEDIUM

  • LARGE

  • XLARGE , '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_COUNT e MAX_CLUSTER_COUNT que serão otimizadas para simultaneidade.

MAX_CLUSTER_COUNT = num

Especifica o número máximo de clusters para um warehouse interativo multicluster.

Valores válidos:

1 a 10 (dependendo do tamanho do warehouse)

Padrão:

1 (warehouse monocluster)

Para um warehouse interativo, use o mesmo valor para MIN_CLUSTER_COUNT e MAX_CLUSTER_COUNT. Um warehouse interativo multicluster não é dimensionado automaticamente.

MIN_CLUSTER_COUNT = num

Especifica 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_COUNT e MAX_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 é enviada

  • FALSE: 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 uso

  • FALSE: o warehouse é criado no estado em execução (se AUTO_RESUME é TRUE)

Padrão:

TRUE

RESOURCE_MONITOR = monitor_name

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

Especifica o nível de simultaneidade para instruções SQL executadas pelo cluster do warehouse interativo.

STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = num

Especifica por quanto tempo, em segundos, uma instrução SQL pode ficar na fila antes de ser cancelada.

STATEMENT_TIMEOUT_IN_SECONDS = num

Especifica 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 TABLES, se utilizada.

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 SUSPENDED por 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 TABLES durante 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';
Copy

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

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

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