Aggregate dot SQL
नीचे दिया गया कोड SQL का उपयोग करके df नाम के एक dataframe का मान सेट करता है.
df = spark.sql("""
SELECT *,
LEAD(time,1) OVER(PARTITION BY train_id ORDER BY time) AS time_next
FROM schedule
""")
LEADक्लॉज़ का एक समकक्ष फंक्शनpyspark.sql.functionsमें उपलब्ध है.PARTITION BYऔरORDER BYक्लॉज़ के लिए डॉट नोटेशन में समकक्ष फंक्शन होते हैं, जिन्हेंWindowऑब्जेक्ट पर कॉल किया जाता है.- निम्नलिखित इम्पोर्ट उपलब्ध हैं:
- from pyspark.sql import Window
- from pyspark.sql.functions import lead
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Spark SQL परिचय
अभ्यास निर्देश
- SQL की जगह डॉट नोटेशन का उपयोग करते हुए,
dfजैसा ही परिणाम देने वालाdot_dfनाम का एक dataframe बनाएँ.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Obtain the identical result using dot notation
dot_df = df.withColumn('time_next', ____('time', 1)
.over(____.____('train_id')
.____('time')))