U define it? U use it!

PySpark परिचय

Benjamin Schmidt

Data Engineer

दोहराए जाने वाले कामों के लिए UDFs

UDF (User-Defined Function): PySpark dataframes के साथ डेटा पर काम करने के लिए कस्टम फंक्शन

UDFs के फायदे:

  • आम कामों को दोबारा उपयोग और दोहराएँ
  • सीधे Spark में रजिस्टर होते हैं और शेयर किए जा सकते हैं
  • PySpark DataFrames (छोटे datasets के लिए)
  • pandas UDFs (बड़े datasets के लिए)
PySpark परिचय

UDF को define और register करना

सभी PySpark UDFs को udf() फंक्शन से रजिस्टर करना होता है.

# Define the function
def to_uppercase(s):
    return s.upper() if s else None

# Register the function to_uppercase_udf = udf(to_uppercase, StringType())
# Apply the UDF to the DataFrame df = df.withColumn("name_upper", to_uppercase_udf(df["name"]))
# See the results df.show()

याद रखें: UDFs आपको PySpark DataFrames पर कस्टम Python लॉजिक लगाने देते हैं

PySpark परिचय

pandas UDF

  • कोड और डेटा के महँगे conversions हटाता है
  • SparkSession में रजिस्टर करने की ज़रूरत नहीं
  • बहुत बड़े datasets पर pandas की क्षमताएँ उपयोग करता है
from pyspark.sql.functions import pandas_udf

@pandas_udf("float")
def fahrenheit_to_celsius_pandas(temp_f):
    return (temp_f - 32) * 5.0/9.0
PySpark परिचय

PySpark UDFs vs. pandas UDFs

PySpark UDF

  • अपेक्षाकृत छोटे datasets के लिए बेहतर
  • data cleaning जैसी सरल transformations
  • बदलाव कॉलम-स्तर पर होते हैं, row-स्तर पर नहीं
  • udf() से Spark Session में रजिस्टर करना ज़रूरी

pandas UDF

  • अपेक्षाकृत बड़े datasets
  • सरल data cleaning से आगे के complex operations
  • कॉलम से अधिक विशिष्ट row-स्तर के बदलाव
  • Spark Session के बाहर भी कॉल किया जा सकता है
PySpark परिचय

अभ्यास करते हैं!

PySpark परिचय

Preparing Video For Download...