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

कॉलम बनाना

इस अध्याय में, आप सीखेंगे कि Spark की DataFrame क्लास में परिभाषित मेथड्स का उपयोग करके आम डेटा ऑपरेशंस कैसे करें.

आइए कॉलम-स्तरीय ऑपरेशंस करना देखें. Spark में आप यह .withColumn() मेथड से कर सकते हैं, जो दो आर्गुमेंट लेता है. पहला, आपके नए कॉलम का नाम एक स्ट्रिंग के रूप में, और दूसरा, नया कॉलम स्वयं.

नया कॉलम Column क्लास का ऑब्जेक्ट होना चाहिए. ऐसा ऑब्जेक्ट बनाना उतना ही आसान है जितना कि अपने DataFrame से df.colName का उपयोग करके कोई कॉलम निकालना.

एक Spark DataFrame को अपडेट करना pandas से कुछ अलग है क्योंकि Spark DataFrame immutable होता है. इसका मतलब है कि इसे बदला नहीं जा सकता, इसलिए कॉलम्स को इन-प्लेस अपडेट नहीं किया जा सकता.

इसलिए, ये सभी मेथड्स एक नया DataFrame रिटर्न करते हैं. ओरिजिनल DataFrame को ओवरराइट करने के लिए आपको रिटर्न हुए DataFrame को इस तरह से दुबारा असाइन करना होगा:

df = df.withColumn("newCol", df.oldCol + 1)

ऊपर दिया गया कोड df के समान कॉलम्स के साथ एक DataFrame बनाता है, और एक नया कॉलम newCol जोड़ता है, जहाँ हर एंट्री oldCol की संबंधित एंट्री से एक अधिक होती है.

किसी मौजूदा कॉलम को ओवरराइट करने के लिए, बस पहले आर्गुमेंट के रूप में उसी कॉलम का नाम पास करें!

याद रखिए, आपके वर्कस्पेस में spark नाम का एक SparkSession पहले से मौजूद है.

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

PySpark की नींव

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

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

  • .catalog में मौजूद flights टेबल के मानों वाला DataFrame बनाने के लिए spark.table() मेथड को आर्गुमेंट "flights" के साथ उपयोग करें. इसे flights के रूप में सेव करें.
  • flights.show() का उपयोग करके flights का head दिखाएँ. आउटपुट जाँचें: air_time कॉलम में उड़ान की अवधि (मिनटों में) है.
  • flights को अपडेट करें ताकि इसमें duration_hrs नाम का नया कॉलम शामिल हो, जिसमें हर उड़ान की अवधि घंटों में हो (इसके लिए आपको air_time को एक घंटे में मौजूद मिनटों की संख्या से भाग देना होगा).

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

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

# Create the DataFrame flights
flights = spark.table(____)

# Show the head
____.____()

# Add duration_hrs
flights = flights.withColumn(____)
कोड संपादित करें और चलाएँ