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"
반응형
'빅데이터' 카테고리의 다른 글
pyspark사용시 csv로 저장시 json이 따옴표(")로 묶이는 현상 방지하기 (0) | 2020.07.06 |
---|---|
macOS에 pyspark설치, pyspark실행시 jupyterlab 실행시키기 (0) | 2020.07.01 |
pyspark 데이터프레임 조건절(when)로 데이터 처리하기 (0) | 2020.06.23 |
AvroFlumeEvent 포멧 java Decoding source (0) | 2020.01.31 |
빅데이터에서 사용하는 포멧 종류 및 설명 (0) | 2019.12.19 |
스트림 프로세싱 with Faust - Windows (0) | 2019.11.22 |