Data/Data Analysis
[Pyspark] UDF함수에서 return 을 list형식으로 하고싶을 때
재융
2019. 11. 15. 15:08
반응형
pyspark 에서 자주쓰이는 udf 함수
가끔 udf함수를 이용해서 list를 return할 때가 있는데, 여기서 문제는 printSchema()함수로 pyspark.dataframe을 확인할때 data type이 array(또는 list)형식으로 찍히는게 아니고 string으로 찍힌다. 따라서 udf함수가 return을 할 때 따로 return하는 데이터 타입을 선언해줘야한다.
다음코드와 같이 해줄수가있다
import pyspark.sql.functions as F
from pyspark.sql.types import *
def sorting_team_id(temp):
return sorted(temp)
change = F.udf(lambda z: sorting_team_id(z), ArrayType(StringType()))
1. from pyspark.sql.types import * 를 선언
2. udf함수의 두번째 파라미터 값에 ArrayType(StringType()) 이라는 return값의 데이터형식을 선언해줘야함
반응형