반응형
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값의 데이터형식을 선언해줘야함
반응형
'Data > Data Analysis' 카테고리의 다른 글
[Pandas] DataCamp - Histogram, filter data (0) | 2019.11.25 |
---|---|
[Pandas] Datacamp - Clean a variable (0) | 2019.11.25 |
[Pyspark] sorted와 sort 의 차이 (2) | 2019.11.14 |
[Pyspark] pyspark 로컬에 설치 (1) | 2019.10.19 |
[Pyspark] dataframe join 문 (0) | 2019.09.16 |