안녕하세요, 남두오성입니다.

 

언제나처럼, 코딩은 저의 개인적 기록 및 기억을 위한 포스팅입니다.

 

UDF를 짜서,

 

결과값이 DataFrame 으로 떨어지는 경우,

 

데이터를 순차적으로 넣어 map 시키고

 

그 결과를 합쳐서 DataFrame 으로 받아내는 코드입니다.

 

keyList 는 

 

keylist: Array[String] = Array(2000000020, 2000000054, 2000000025, 2000000057, 2000000016, 2000000052, 2000000055, 2000000060, ...

 

이렇게 생긴 Array 이고,

 

이 Array 안에 있는 element가 순차적으로 UDF안에 들어갑니다.

 

scalaRF 라는 UDF 가 실행되고 그 결과값이 DataFrame 으로 나오게 됩니다.

    val groupByMclsPrediction = keylist.map { x =>
      scalaRF(critn_dt, dataFrame, x)
    }.reduce((x,y) => x.union(y))

 

reduce로 결과값들이 합쳐지는데,

 

reduce에 x와 y는

 

이전 결과의 총 모임이 x, 제일 최근 udf의 결과값이 y 라는 뜻 입니다.

 

x에다가 y를 union 해라....라는 뜻이죠.

BELATED ARTICLES

more