1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài báo cáo : Viết chương trình nhân 2 ma trận kích thước lớn (BIG DATA HADOOP MAPREDUCE)

21 608 6

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 1,24 MB

Nội dung

Hai ma trận A có kích thước m dòng và n cột; Ma trận B có kích thước n dòng và p cột, được ký hiệu như sau A = [aij]mxn B = [bij]nxp Cần tính ma trận tích C = AB Ma trận tích C=AB có kích thước m*p xác định bằng công thức: cij=ai1b1j+ai2b2j+..+ainbnj với i=1..m; j=1..p

Trang 1

BÁO CÁO

BÀI TOÁN NHÂN HAI MA TRẬN KÍCH THƯỚC LỚN

KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

TRƯỜNG ĐẠI HỌC CẦN THƠ

Học viên thực hiện:

Trần Văn Tiên

Mã Tuấn Duy

Giảng viên hướng dẫn:

TS Phan Thượng Cang

Trang 2

Bài toán Nhân hai ma trận

Trang 3

Mô tả

Bài toán Nhân hai ma trận

Trang 4

1 Giới Thiệu Bài Toán Nhân Hai Ma Trận

Hai ma trận A có kích thước m dòng và n cột; Ma trận B có kích thước n dòng và p cột, được ký hiệu như sau

Bài toán

A = [aij] mxn

B = [bij] nxp

Cần tính ma trận tích C = AB

Trang 5

1 Giới Thiệu Bài Toán Nhân Hai Ma Trận

Ma Trận Tích

Ma trận tích C=AB có kích thước m*p xác định bằng công thức:

c ij =a i1 b 1j +a i2 b 2j + +a in b nj với i=1 m; j=1 p

Ví dụ:

Trang 6

Bài toán Nhân hai ma trận trong mô hình MapReduce

Trang 7

2 Nhân hai ma trận trong MapReduce

Trang 8

2 Nhân hai ma trận trong MapReduce

A,0,1,-51 A,0,2,4 A,1,0,6

A,1,1,167

A,1,2,-68 A,2,0,-4 A,2,1,24 A,2,2,-41 B,0,0-2 B,0,1,1 B,1,0,1 B,1,1,2 B,2,0,0 B,2,1,3

A =

B =

Trang 9

3 MapReduce Và

Bài Toán Nhân Hai Ma Trận

Giải Thuật Map

Giải Thuật Reduce

Trang 10

3 Nhân hai ma trận trong MapReduce – Mô hình

(0,0),(A,0,12)(0,1),(A,0,12)

(Key, Value) (Key, Value) (Key, Value)

(0,0),(A,1,-51)(0,1),(A,1,-51)

(0,0),(A,2,4)(0,1),(A,2,4)

(1,0),(A,2,-68)(1,1),(A,2,-68)

(0,0),(B,0,-2)(1,0),(B,0,-2)

(0,0),(B,1,1)(1,0),(B,1,1)

(0,0),(B,2,0)(1,0),(B,2,0)

(0,1),[(A,0,12),(A,1,-51),…,(B,2,3)]

(0,1),(B,2,3)(1,1),(B,2,3)

(1,0),[(A,0,6),(A,1,-51),…,(B,2,0)]

(1,1),[(A,0,6),(A,1,-51),…,(B,2,3)]

Key (0,0)List A = [(A,0,12)…]

List B = [(B,0,-2),…]

Key (0,1)List A = [(A,0,12)…]

List B = [(B,0,1),…]

Key (1,0)List A = [(A,0,6)…]

List B = [(B,0,-2),…]

Trang 11

Giải Thuật Map

Trang 12

Giải Thuật Map

 map(key,value): // value is(“A”,i,j,a_ij) or (“B”,j,k,b_jk)

Trang 13

Giải Thuật Map

//m: so dong cua ma tran A

Trang 14

Giải Thuật Map

(0,1),(A,0,12)

Sau khi tạo ra các cặp key,value và sắp xếp các value theo key ta được:

((0,0),[(A,0,12),(A,1,-51),(A,2,4),(B,0,-2),(B,1,1),(B,2,0)])

Trang 15

Giải Thuật Reduce

Trang 16

Giải Thuật Reduce

reduce(key,values):

// key is (i,k) // values is a list of (“A”,j,a_ij) and (“B”,j,b_jk)

hash_A={j:a_ij for (x,j,a_ij) in values if x==A} hash_B={j:b_jk for (x,j,b_jk) in values if x==B} Result=0

for j=1 to n:

Result + =hash_A[j] * hash_B[j]

context.write(key,result)

Trang 17

Giải Thuật Reduce

Nhân Hai Ma Trận Trong Hadoop MapReduce

((0,0),[(A,0,12),(A,1,-51),(A,2,4),(B,0,-2),(B,1,1),(B,2,0)])

reduce 12*(-2)+(-51)*1+4*0=-75

phần tử P 00

Trang 18

Demo

Trang 19

● Đưa file matrix.txt lên hadoop:

●hdfs dfs -put ~/matran/input/* /input

Trang 20

● Biên dịch chương trình:

●hadoop com.sun.tools.javac.Main *.java

● Tạo file jar

jar cf mt.jar *.class

● Chạy chương trình

●hadoop jar mt.jar Matrix /input /output

● Xem kết quả

●hdfs dfs -cat /output/*

Trang 21

Xin cảm ơn!

Ngày đăng: 29/03/2019, 09:38

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w