더북(TheBook)

이제 결과로 반환된 avgByCust 내용을 확인해 보자.

scala> avgByCust.first()
res0: (Int, (Double, Double, Int, Double, Double)) = (96,(253.62199999999999,4975.08,57,36928.57,647.869649122807))

 

결과가 잘 나온 것 같다. 드디어 모든 업무를 완수했다!

분석 결과를 마케팅 기획자에게 보내기 위해 다음과 같이 avgByCusttotalsAndProds 결과를 CSV(Comma-Separated Values) 형식으로 저장할 수 있다(# 문자를 구분자로 사용했다).

scala> totalsAndProds.map(_._2).map(x=>x._2.mkString("#")+", "+x._1).
   saveAsTextFile("ch04output-totalsPerProd")
scala> avgByCust.map{ case (id, (min, max, cnt, tot, avg)) =>
   "%d#%.2f#%.2f#%d#%.2f#%.2f".format(id, min, max, cnt, tot, avg)}.
   saveAsTextFile("ch04output-avgByCust")

 

보람찬 하루 일과를 마치고 퇴근하기 전에 RDD의 의존 관계와 누적 변수, 공유 변수 등 몇 가지를 더 알아보자. 지금 알아 두면 언젠가 큰 도움이 될 녀석들이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.