ComenzarEmpieza gratis

Sumas acumuladas con funciones de ventana en SQL

Una función de ventana es similar a una función de agregación, salvo que devuelve un resultado para cada fila del conjunto de datos en lugar de una única fila por grupo.

Puedes hacer agregaciones junto con funciones de ventana. Calcular una suma acumulada con una función de ventana es más sencillo que hacerlo con joins. Además, la consulta puede ejecutarse mucho más rápido.

Se te proporciona una tabla llamada schedule, con las columnas train_id, station, time y diff_min. La columna diff_min indica el tiempo transcurrido entre la estación actual y la siguiente estación de la línea.

Este ejercicio forma parte del curso

Introducción a Spark SQL en Python

Ver curso

Instrucciones del ejercicio

  • Ejecuta una consulta que añada una columna adicional a los registros de este conjunto de datos llamada running_total. La columna running_total hace un SUM() de la diferencia de tiempos entre estaciones indicada en la columna diff_min.
  • Ejecuta la consulta y muestra el Resultado de la consulta.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Add col running_total that sums diff_min col in each group
query = """
SELECT train_id, station, time, diff_min,
____(____) OVER (PARTITION BY ____ ORDER BY ____) AS running_total
FROM schedule
"""

# Run the query and display the result
spark.____(query).show()
Editar y ejecutar código