Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las sesiones de SQL Warehouse permiten definir variables, crear vistas temporales y mantener los cambios de estado en varias ejecuciones de consultas. Con las sesiones, puede compilar lógica de SQL de forma iterativa sin necesidad de ejecutar todas las instrucciones a la vez.
Puede usar sesiones en los contextos siguientes cuando se adjuntan a un almacén de SQL:
Ejemplo de caso de uso
Las sesiones permiten ejecutar instrucciones individualmente al mantener el estado compartido. Por ejemplo, puede declarar una variable, crear una vista temporal que use esa variable y, a continuación, consultar la vista por separado.
En el ejemplo siguiente se muestra este flujo de trabajo:
-- 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;
Con las sesiones, puede ejecutar cada sentencia de manera individual. La variable y la vista temporal permanecen disponibles, lo que le permite iterar en las consultas sin volver a ejecutar todas las instrucciones anteriores.
Cómo funcionan las sesiones
Se crea una sesión cuando un usuario ejecuta una consulta en una instancia de SQL Warehouse. Las sesiones permanecen activas siempre que un comando se ejecute al menos una vez cada ocho horas. Las sesiones se conservan incluso cuando el almacén se detiene o se reinicia.
Una sesión expira después de ocho horas de inactividad.
Estado de sesión compartida
Todos los comandos se ejecutan en la misma sesión comparten lo siguiente:
- Variables declaradas con
DECLARE VARIABLE - Vistas temporales creadas con
CREATE TEMPORARY VIEW - Tablas temporales creadas con
CREATE TEMPORARY TABLE. Consulte Tablas temporales. - Configuración del entorno, como el catálogo y el esquema actuales
- Etiquetas de consulta establecidas con
SET QUERY_TAGSo parámetros de configuración de sesión. Consulte Etiquetas de consulta.
Ámbito de sesión y colaboración
Las sesiones están vinculadas al objeto de consulta (consulta, cuaderno o archivo) y al almacenamiento SQL específico al que está asociado. Todos los usuarios que comparten acceso a ese objeto y conexión de almacenamiento también comparten la misma sesión.
Por ejemplo:
- El usuario A define una vista temporal en la consulta 1 mientras está conectada a Warehouse X.
- El usuario B puede ejecutar un comando SQL en la consulta 1 en Warehouse X que haga referencia a esa misma vista temporal.
- Si la consulta 1 se vuelve a adjuntar a un almacenamiento diferente, se crea una nueva sesión con su propio estado aislado.
Este comportamiento colaborativo permite a los equipos trabajar juntos en el desarrollo de consultas compartidas, pero también significa que los cambios realizados por un usuario afectan a todos los demás usuarios que comparten la misma sesión.