티스토리 뷰

Spark

[Spark] 행렬 덧셈, 곱셈

도도고영 2024. 4. 21. 11:22

Matrix Computation: 덧셈

1. Format

3 4

1 3

 

003 -> (0,0)에 3

014

101

113

 

2. 두 Matrix에 대해 pair rdd 만들기

mapTopair transformation 사용

 

3. 두 RDD 합치기

union 사용 (중복 허용)

 

4. 같은 key를 가지는 element 더하기

ReduceByKey

 

 

Matrix Computation: 곱셈

*A행렬의 열의 개수와 B행렬의 행의 개수가 같아야 함

*A행렬의 어떤 숫자는 B행렬의 열의 개수만큼 곱해짐, B 행렬의 어떤 숫자는 A행렬의 행의 개수만큼 곱해짐

*결과 행렬은 A의 행의 개수와 B행렬의 열의 개수로 결정됨 

 

1. 개별 곱 구하기: Format

a(ix) b(xj)를 처리할 때 key를 (i,j,x)로 함

matrix_a를 덧셈과 같은 방법으로 rdd 생성 후, (i,j.x) key를 붙이기

matrix_b도 동일 진행

위 과정에 flatMapToPair 사용

 

2. 개별 곱 구하기: 두 RDD 합치기

union 사용 (중복 허용) -> ReduceByKey 사용, value 곱해줘야 함!

 

3. 곱셈 결과 합하기: 덧셈을 위해 key 변경

mapToPair 사용해 (i,j,x)를 (i,j)로 key 변경

 

4. 곱셈 결과 합하기: 같은 key를 가지는 element 더하기

ReduceByKey

'Spark' 카테고리의 다른 글

Spark로 k-means 알고리즘 사용하기  (0) 2024.06.16
[스파크] reduce와 PairRDD  (0) 2024.04.21
Spark/RDD (Resilient Distributed Dataset)  (0) 2024.03.26
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함