Uživatelsky definované funkce

Cleaning Data with PySpark

Mike Metzger

Data Engineering Consultant

Definice...

Uživatelsky definované funkce neboli UDF

  • Metoda v Pythonu
  • Obalena metodou pyspark.sql.functions.udf
  • Uložena jako proměnná
  • Volána jako běžná funkce Sparku
Cleaning Data with PySpark

UDF pro obrácení řetězce

Definujte metodu v Pythonu

def reverseString(mystr):
    return mystr[::-1]

Obalte funkci a uložte ji jako proměnnou

udfReverseString = udf(reverseString, StringType())

Použití se Sparkem

user_df = user_df.withColumn('ReverseName', 
                 udfReverseString(user_df.Name))
Cleaning Data with PySpark

Příklad bez argumentů

def sortingCap():
    return random.choice(['G', 'H', 'R', 'S'])
udfSortingCap = udf(sortingCap, StringType())
user_df = user_df.withColumn('Class', udfSortingCap())
Name Age Class
Alice 14 H
Bob 18 S
Candice 63 G
Cleaning Data with PySpark

Pojďme procvičovat!

Cleaning Data with PySpark

Preparing Video For Download...