이제 결과로 반환된 avgByCust 내용을 확인해 보자.
scala> avgByCust.first()
res0: (Int, (Double, Double, Int, Double, Double)) = (96,(253.62199999999999,4975.08,57,36928.57,647.869649122807))
결과가 잘 나온 것 같다. 드디어 모든 업무를 완수했다!
분석 결과를 마케팅 기획자에게 보내기 위해 다음과 같이 avgByCust와 totalsAndProds 결과를 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의 의존 관계와 누적 변수, 공유 변수 등 몇 가지를 더 알아보자. 지금 알아 두면 언젠가 큰 도움이 될 녀석들이다.