Spark में User Defined Functions का उपयोग
DataFrames को बदलने के लिए Spark के बिल्ट-इन string फंक्शंस की ताकत का आप ने कुछ हिस्सा देखा है. लेकिन एक स्तर के बाद, बिना फ़ंक्शन कॉल्स के उलझे जाल बनाए डेटा प्रोसेस करना मुश्किल हो जाता है. ऐसे में User Defined Functions का उपयोग करके आप अपने DataFrames को सुविधाजनक तरीके से बदल सकते हैं.
इस अभ्यास में हम voter_df DataFrame का उपयोग करेंगे, लेकिन आप first_name कॉलम को प्रथम और मध्य नामों से बदलेंगे.
pyspark.sql.functions लाइब्रेरी F उपनाम (alias) के रूप में उपलब्ध है. pyspark.sql.types की कक्षाएँ पहले से इम्पोर्ट की गई हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
PySpark के साथ डेटा क्लीनिंग
अभ्यास निर्देश
getFirstAndMiddle()फंक्शन को एडिट करें ताकि वह नामों की सूची में अंतिम एंट्री को छोड़कर बाकी नामों का स्पेस-सेपरेटेड स्ट्रिंग रिटर्न करे.- इस फंक्शन को user-defined function के रूप में परिभाषित करें. यह string टाइप रिटर्न करना चाहिए.
- अपने UDF का उपयोग करके
voter_dfपरfirst_and_middle_nameनाम का नया कॉलम बनाएँ. - DataFrame दिखाएँ.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
def getFirstAndMiddle(names):
# Return a space separated string of names
return ' '.join(____)
# Define the method as a UDF
udfFirstAndMiddle = F.____(____, ____)
# Create a new column using your UDF
voter_df = voter_df.withColumn('first_and_middle_name', ____(____))
# Show the DataFrame
____