Jumlah berjalan menggunakan SQL fungsi window
Fungsi window mirip dengan fungsi agregasi, tetapi memberikan keluaran untuk setiap baris dalam himpunan data alih-alih satu baris per grup.
Anda dapat melakukan agregasi bersamaan dengan fungsi window. Jumlah berjalan menggunakan fungsi window lebih sederhana dibandingkan jika menggunakan join. Durasi kueri juga bisa jauh lebih cepat.
Sebuah tabel bernama schedule, dengan kolom train_id, station, time, dan diff_min telah disediakan untuk Anda. Kolom diff_min memberikan waktu yang berlalu antara stasiun saat ini dan stasiun berikutnya pada jalur tersebut.
Latihan ini adalah bagian dari kursus
Pengantar Spark SQL dalam Python
Petunjuk latihan
- Jalankan kueri yang menambahkan kolom tambahan pada rekaman dalam himpunan data ini bernama
running_total. Kolomrunning_totalmelakukanSUM()atas selisih waktu antarstasiun yang diberikan oleh kolomdiff_min. - Jalankan kueri dan tampilkan hasilnya.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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()