Pencere fonksiyonu SQL ile kümülatif toplamlar
Bir pencere fonksiyonu, bir toplama fonksiyonuna benzer; ancak gruplar başına tek bir satır yerine, veri kümesindeki her satır için çıktı üretir.
Toplamayı (aggregation) pencere fonksiyonlarıyla birlikte yapabilirsin. Pencere fonksiyonu kullanarak kümülatif toplam almak, join kullanarak yapılması gerekene göre daha basittir. Sorgu süresi de çok daha hızlı olabilir.
train_id, station, time ve diff_min sütunlarına sahip schedule adlı bir tablo sağlandı. diff_min sütunu, mevcut istasyon ile hat üzerindeki bir sonraki istasyon arasındaki geçen süreyi verir.
Bu egzersiz
Python ile Spark SQL'e Giriş
kursunun bir parçasıdırEgzersiz talimatları
- Bu veri kümesindeki kayıtlara
running_totaladlı ek bir sütun ekleyen bir sorgu çalıştır.running_totalsütunu,diff_minsütununun verdiği istasyon zaman farklarınıSUM()ile toplar. - Sorguyu çalıştır ve sonucu görüntüle.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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()