ComeçarComece de graça

Somas acumuladas usando funções de janela em SQL

Uma função de janela é como uma função de agregação, mas fornece uma saída para cada linha do conjunto de dados, em vez de uma única linha por grupo.

Você pode fazer agregações junto com funções de janela. Uma soma acumulada usando uma função de janela é mais simples do que o necessário usando joins. A duração da consulta também pode ser muito mais rápida.

Uma tabela chamada schedule, com as colunas train_id, station, time e diff_min, está disponível para você. A coluna diff_min informa o tempo decorrido entre a estação atual e a próxima estação na linha.

Este exercício faz parte do curso

Introdução ao Spark SQL em Python

Ver curso

Instruções do exercício

  • Execute uma consulta que adicione uma coluna extra aos registros deste conjunto de dados chamada running_total. A coluna running_total faz o SUM() da diferença entre os horários das estações dada pela coluna diff_min.
  • Execute a consulta e exiba o resultado.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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 e executar o código