Somme progressive con le funzioni finestra in SQL
Una funzione finestra è simile a una funzione di aggregazione, ma restituisce un output per ogni riga dell'insieme di dati invece di una singola riga per gruppo.
Puoi fare aggregazioni insieme alle funzioni finestra. Una somma progressiva usando una funzione finestra è più semplice rispetto a usare join. Anche la durata della query può essere molto più rapida.
È disponibile una tabella chiamata schedule, con le colonne train_id, station, time e diff_min. La colonna diff_min indica il tempo trascorso tra la stazione corrente e la stazione successiva sulla linea.
Questo esercizio fa parte del corso
Introduzione a Spark SQL in Python
Istruzioni dell'esercizio
- Esegui una query che aggiunga una colonna aggiuntiva ai record di questo insieme di dati chiamata
running_total. La colonnarunning_totaleffettua ilSUM()della differenza tra gli orari delle stazioni indicata nella colonnadiff_min. - Esegui la query e visualizza il risultato.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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()