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.
Se aplica a:
Databricks SQL
Databricks Runtime
Crea una ventana deslizante basada en saltos sobre una expresión de marca de tiempo.
Sintaxis
window(expr, width [, slide [, start] ] )
Argumentos
-
expr: una expresiónTIMESTAMPque especifica el asunto de la ventana. -
width: un literalSTRINGque representa el ancho de la ventana como un literalINTERVAL DAY TO SECOND. -
slide: un literalSTRINGopcional que representa un desplazamiento desde medianoche al inicio, expresado como un literalINTERVAL HOUR TO SECOND. -
start: un literalSTRINGopcional que representa el inicio de la siguiente ventana expresado como literalINTERVAL DAY TO SECOND.
Devoluciones
Devuelve un conjunto de agrupaciones en las que se puede operar con funciones de agregado.
El nombre de columna GROUP BY es window. Es de tipo STRUCT<start TIMESTAMP, end TIMESTAMP>
slide debe ser menor o igual que width.
start debe ser menor que slide.
Si slide<width, las filas de cada grupo se superponen.
De manera predeterminada, slide es igual que width, por lo que el argumento expr se divide en grupos.
La función de ventana se empieza a aplicar a las 1970-01-01 00:00:00 UTC + start. El valor predeterminado de start es '0 SECONDS'"
Ejemplos
> SELECT window, min(val), max(val), count(val)
FROM VALUES (TIMESTAMP'2020-08-01 12:20:21', 17),
(TIMESTAMP'2020-08-01 12:20:22', 12),
(TIMESTAMP'2020-08-01 12:23:10', 8),
(TIMESTAMP'2020-08-01 12:25:05', 11),
(TIMESTAMP'2020-08-01 12:28:59', 15),
(TIMESTAMP'2020-08-01 12:30:01', 23),
(TIMESTAMP'2020-08-01 12:30:15', 2),
(TIMESTAMP'2020-08-01 12:35:22', 16) AS S(stamp, val)
GROUP BY window(stamp, '2 MINUTES 30 SECONDS', '30 SECONDS', '15 SECONDS');
{2020-08-01 12:19:15, 2020-08-01 12:21:45} 12 17 2
{2020-08-01 12:18:15, 2020-08-01 12:20:45} 12 17 2
{2020-08-01 12:20:15, 2020-08-01 12:22:45} 12 17 2
{2020-08-01 12:19:45, 2020-08-01 12:22:15} 12 17 2
{2020-08-01 12:18:45, 2020-08-01 12:21:15} 12 17 2
{2020-08-01 12:21:45, 2020-08-01 12:24:15} 8 8 1
{2020-08-01 12:22:45, 2020-08-01 12:25:15} 8 11 2
{2020-08-01 12:21:15, 2020-08-01 12:23:45} 8 8 1
{2020-08-01 12:22:15, 2020-08-01 12:24:45} 8 8 1
{2020-08-01 12:20:45, 2020-08-01 12:23:15} 8 8 1
{2020-08-01 12:23:45, 2020-08-01 12:26:15} 11 11 1
{2020-08-01 12:23:15, 2020-08-01 12:25:45} 11 11 1
{2020-08-01 12:24:45, 2020-08-01 12:27:15} 11 11 1
{2020-08-01 12:24:15, 2020-08-01 12:26:45} 11 11 1
{2020-08-01 12:27:15, 2020-08-01 12:29:45} 15 15 1
{2020-08-01 12:27:45, 2020-08-01 12:30:15} 15 23 2
{2020-08-01 12:28:45, 2020-08-01 12:31:15} 2 23 3
{2020-08-01 12:26:45, 2020-08-01 12:29:15} 15 15 1
{2020-08-01 12:28:15, 2020-08-01 12:30:45} 2 23 3
{2020-08-01 12:29:45, 2020-08-01 12:32:15} 2 23 2