더북(TheBook)

4.3.2 데이터 정렬

 

우리는 어제 판매한 상품 이름과 각 상품별 매출액 목록을 totalsAndProds RDD로 추출했다. 이제 이 결과를 알파벳 순으로 정렬해야 한다. 어떻게 하면 좋을까?

RDD의 데이터를 정렬하는 데 주로 사용하는 변환 연산자는 repartitionAndSortWithinPartition, sortByKey, sortBy다. repartitionAndSortWithinPartition은 4.2.3절에서 설명했듯이 리파티셔닝과 정렬 작업을 동시에 수행하며, 두 작업을 개별적으로 수행하는 것보다 성능이 더 낫다.

sortBy 사용법은 매우 간단하다.

scala> val sortedProds = totalsAndProds.sortBy(_._2._2(1))
scala> sortedProds.collect()
res0: Array[(Double, Array[String])] = Array((90,(48601.89,Array(90, AMBROSIA TRIFIDA POLLEN, 5887.49, 1))), (94,(31049.07,Array(94, ATOPALM MUSCLE AND JOINT, 1544.25, 7))), (87,(26047.72,Array(87, Acyclovir, 6252.58, 4))), ...
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.