ユーザー定義関数

PySpark でデータをクレンジングする

Mike Metzger

Data Engineering Consultant

定義方法

ユーザー定義関数(UDF)

  • Python のメソッド
  • pyspark.sql.functions.udf でラップ
  • 変数として保持
  • 通常の Spark 関数のように呼び出し
PySpark でデータをクレンジングする

文字列反転の UDF

Python メソッドを定義

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

関数をラップして変数に格納

udfReverseString = udf(reverseString, StringType())

Spark で使用

user_df = user_df.withColumn('ReverseName', 
                 udfReverseString(user_df.Name))
PySpark でデータをクレンジングする

引数なしの例

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
PySpark でデータをクレンジングする

演習に進みましょう!

PySpark でデータをクレンジングする

Preparing Video For Download...