pyspark에서 udf를 사용해서 dict 타입을 반환하는 함수를 사용했는데 왜 string 형태가 반환될까요...?
조회수 424회
from pyspark.sql.functions import udf
@udf("String")
def pl_code_1(con):
data = dict()
... # 딕셔너리 업데이트 과정
return data
df = data.withColumn("test", pl_code_1(col("Con")))
df.show(truncate=False)
이런식으로 udf를 사용하여 pl_code_1이란 함수에 col("Con")값을 넣으면 딕셔너리 형태가 리턴 되는 함수를 사용했습니다.
그런데 데이터프레임으로 show()로 출력해보면 해당 컬럼 값이
{key=value, key2=value2...}
이런형태로 나오네요. 따옴표도 없고 key, value 를 구분하는 구분자가 ":"
도 아니고 "="
으로 되어 있습니다. 이건 대체 어떻게 해야 test란 컬럼에서 딕셔너리 형태로 받을 수 있을까요?
댓글 입력