शुरू करेंमुफ़्त में शुरू करें

Aggregation, चरण-दर-चरण

डॉट नोटेशन या SQL का उपयोग करना काफी हद तक व्यक्तिगत पसंद है। लेकिन, जैसा कि वीडियो अभ्यास में दिखाया गया है, कुछ मामलों में SQL सरल होता है। इसी तरह वीडियो लेसन में यह भी दिखाया गया है कि कुछ स्थितियों में डॉट नोटेशन उलटा-सीधा परिणाम देता है, जैसे जब किसी कॉलम पर दूसरी एग्रीगेशन, उसी कॉलम पर पहले किए गए एग्रीगेशन को ओवरराइट कर देती है। जैसा कि वीडियो में बताया गया, PySpark में agg की बेसिक सिंटैक्स एक समय में प्रत्येक कॉलम पर केवल एक ही एग्रीगेशन कर पाती है।

नीचे दिए गए अभ्यासों में हर ट्रेन लाइन के लिए पहली प्रस्थान-समय की गणना की गई है।

पहले दो क्वेरीज़ आपस में मैच करती हैं। लेकिन, अगली दो नहीं करतीं। क्या आप कारण बता सकते हैं?

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में Spark SQL परिचय

पाठ्यक्रम देखें

अभ्यास निर्देश

  • खाली जगह भरें ताकि पहली जोड़ी कमांड्स एक समान परिणाम दिखाएँ।
  • चौथा परिणाम, जिसका नाम result है, पिछली लाइन को कॉपी करने का एक सरल प्रयास है। हालाँकि, यह उम्मीद के विपरीत अलग है। कैसे? result के दूसरे कॉलम का नाम प्रिंट करने के लिए खाली जगह भरें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Give the identical result in each command
spark.sql('SELECT train_id, MIN(time) AS start FROM schedule GROUP BY train_id').show()
df.groupBy('____').agg({'time':'____'}).withColumnRenamed('____', 'start').show()

# Print the second column of the result
spark.sql('SELECT train_id, MIN(time), MAX(time) FROM schedule GROUP BY train_id').show()
result = df.groupBy('train_id').agg({'time':'min', 'time':'max'})
result.show()
print(result.columns[____])
कोड संपादित करें और चलाएँ