본문 바로가기

빅데이터

pyspark UDF(User Defined Functions) 만들기 방법 및 예제

pyspark를 활용할때 dataframe의 변환과 같은 작업을 위해 UDF가 필요할 때가 있습니다. UDF란  User Defined Functions의 약자로서 사용자가 직접 개발한 method를 뜻합니다. UDF를 만들기 위한 sample 코드를 공유하고자 합니다.

 

그리고 pyspark에서 dataframe을 처리하려면 아래와 같이 사용하곤합니다.

df = sc.read.csv(target_data,header=False,sep="\u0001")
processedDf = df.withColumn(target_column, customMethod(df[target_column]))

 

그리고 Spark에 UDF를 등록하기 위해 아래와 같이 annotation을 붙여주는 방식으로 사용하여 function을 사용할 수 있습니다.

from pyspark.sql.functions import udf
@udf("String")
def customMethod(raw):
	return raw + "suffix"

또는

 

from pyspark.sql.functions import udf
@udf(StringType())
def customMethod(raw):
	return raw + "suffix"
반응형