Window function SQL के साथ running sums
एक window फंक्शन aggregate फंक्शन जैसा होता है, फर्क यह है कि यह हर row के लिए आउटपुट देता है, न कि हर group के लिए सिर्फ एक row.
आप aggregation को window फंक्शनों के साथ मिलाकर चला सकते हैं। Window फंक्शन से running sum बनाना joins की तुलना में आसान होता है। क्वेरी का समय भी अक्सर काफी तेज हो सकता है.
आपके लिए schedule नाम की एक टेबल दी गई है, जिसमें train_id, station, time, और diff_min कॉलम हैं। diff_min कॉलम लाइन पर मौजूदा स्टेशन और अगले स्टेशन के बीच बीता हुआ समय (मिनटों में) देता है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Spark SQL परिचय
अभ्यास निर्देश
- एक क्वेरी चलाइए जो इस डेटासेट के रिकॉर्ड्स में
running_totalनाम का एक अतिरिक्त कॉलम जोड़ती है।running_totalकॉलमdiff_minकॉलम द्वारा दिए गए स्टेशन समय के अंतर काSUM()करता है. - क्वेरी चलाएँ और परिणाम दिखाएँ.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# 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()