Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As sessões do SQL Warehouse permitem definir variáveis, criar exibições temporárias e manter alterações de estado em várias execuções de consulta. Com as sessões, você pode criar a lógica do SQL iterativamente sem a necessidade de executar todas as instruções de uma só vez.
Você pode usar sessões nos seguintes contextos quando anexado a um SQL Warehouse:
Exemplo de caso de uso
As sessões permitem executar instruções individualmente, mantendo o estado compartilhado. Por exemplo, você pode declarar uma variável, criar uma exibição temporária que usa essa variável e consultar a exibição separadamente.
O exemplo a seguir demonstra esse fluxo de trabalho:
-- Statement 1: Declare a variable
DECLARE VARIABLE row_limit = 10;
-- Statement 2: Create a temporary view using the variable
CREATE OR REPLACE TEMPORARY VIEW filtered_data AS
SELECT
*
FROM
main.default.sales_data
LIMIT row_limit;
-- Statement 3: Query the temporary view
SELECT
*
FROM
filtered_data;
Com sessões, você pode executar cada declaração de forma individual. A variável e a exibição temporária permanecem disponíveis, permitindo que você itera em suas consultas sem executar novamente todas as instruções anteriores.
Como funcionam as sessões
Uma sessão é criada quando um usuário executa uma consulta em um SQL Warehouse. As sessões permanecem ativas desde que um comando seja executado pelo menos uma vez a cada oito horas. As sessões persistem mesmo se o depósito de dados for interrompido ou reiniciado.
Uma sessão expira após oito horas de inatividade.
Estado da sessão compartilhada
Todos os comandos são executados no mesmo compartilhamento de sessão:
- Variáveis declaradas com
DECLARE VARIABLE - Exibições temporárias criadas com
CREATE TEMPORARY VIEW - Configurações de ambiente, como o catálogo e o esquema atuais
Escopo e colaboração da sessão
As sessões estão vinculadas ao objeto de consulta (consulta, notebook ou arquivo) e ao sql warehouse específico ao qual ele está anexado. Todos os usuários que têm acesso compartilhado àquele objeto e à conexão ao warehouse também compartilham a mesma sessão.
Por exemplo:
- O usuário A define uma exibição temporária na Consulta 1 enquanto está conectado ao Warehouse X.
- O usuário B pode executar um comando SQL na Consulta 1 no Warehouse X que faz referência à mesma exibição temporária.
- Se a Consulta 1 for reanexada a um armazém diferente, será criada uma nova sessão com o seu próprio estado isolado.
Esse comportamento colaborativo permite que as equipes trabalhem juntas no desenvolvimento de consultas compartilhadas, mas também significa que as alterações feitas por um usuário afetam todos os outros usuários que compartilham a mesma sessão.