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

एक ही कॉलम को दो बार एग्रीगेट करना

कुछ स्थितियों में डॉट नोटेशन, SQL की तुलना में ज्यादा झंझट भरा हो सकता है. इस अभ्यास में हर ट्रेन लाइन के लिए पहली और आखिरी समय-स्टैंप निकाले जाते हैं. नीचे दिया गया कोड डॉट नोटेशन का उपयोग करके यह करता है.

from pyspark.sql.functions import min, max, col
expr = [min(col("time")).alias('start'), max(col("time")).alias('end')]
dot_df = df.groupBy("train_id").agg(*expr)
dot_df.show()
+--------+-----+-----+
|train_id|start|  end|
+--------+-----+-----+
|     217|6:06a|6:59a|
|     324|7:59a|9:05a|
+--------+-----+-----+

आपका लक्ष्य है कि यही परिणाम एक SQL क्वेरी से प्राप्त करें. डेटाफ़्रेम df को schedule नाम की टेबल के रूप में रजिस्टर किया गया है.

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

Python में Spark SQL परिचय

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

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

  • ऐसी SQL क्वेरी लिखें जो डॉट नोटेशन क्वेरी के समान परिणाम दे.

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

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

# Write a SQL query giving a result identical to dot_df
query = "SELECT ____ FROM schedule ____ ____ ____"
sql_df = spark.sql(query)
sql_df.show()
कोड संपादित करें और चलाएँ