티스토리 뷰

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) 하기

 

 

'Spark' 카테고리의 다른 글

Spark로 k-means 알고리즘 사용하기  (0) 2024.06.16
[Spark] 행렬 덧셈, 곱셈  (0) 2024.04.21
Spark/RDD (Resilient Distributed Dataset)  (0) 2024.03.26
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함