Spark
[스파크] reduce와 PairRDD
도도고영
2024. 4. 21. 11:14
reduce로 숫자들의 합 구하기
Integer sum = rdd.reduce(new Fuction2<Integer, Integer, Integer() {
public Integer call(Integer x, Integer y) { return x + y; }
});
reduce와 fold의 차이
reduce: 파티션별로 초기값이 0
fold: 초기값이 0이 아닐 때 사용함
reduce와 aggregate의 차이
reduce: 최종 계산 값이 같은 종류의 값일 때
aggregate: 최종 계산 값이 다른 종류의 값일 때 (숫자들의 평균)
Pair RDD
key-value 형태의 RDD
JavaPairRDD<?, ?> pairs 형태로 사용
mapToPair, flatMapToPair로 기본 RDD에서 변환하여 생성
Pair RDD의 transformation
reduceByKey, groupByKey(메모리 큼), ...
Pair RDD WordCount 예제
1. 텍스트 파일 읽어오기
2. 텍스트 파일을 구분점으로 자르기
3. 요소가 key가 되고 value가 1이 되는 Tuple(mapToPair)들로 바꾸기
4. 같은 key를 가지는 요소를 aggregation(reduceByKey, fuction2) 하기