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 517 5
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)

Đ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

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

TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THƠNG BÁO CÁO BÀI TỐN NHÂN HAI MA TRẬN KÍCH THƯỚC LỚN Giảng viên hướng dẫn: Học viên thực hiện: TS Phan Thượng Cang Trần Văn Tiên Tuấn Duy Bài tốn Nhân hai ma trận kích thước lớn Mơ tả tốn Nhân hai ma trận Bài tốn Nhân hai ma trận mơ hình Map Reduce Nội Dung Demo chương trình Thảo luận Mơ tả Bài tốn Nhân hai ma trận Giới Thiệu Bài Toán Nhân Hai Ma Trận Bài tốn Hai ma trận A có kích thước m dòng n cột; Ma trận B có kích thước n dòng p cột, ký hiệu sau A = [aij]mxn B = [bij]nxp Cần tính ma trận tích C = AB 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 cơng thức: cij=ai1b1j+ai2b2j+ +ainbnj Ví dụ: với i=1 m; j=1 p Bài tốn Nhân hai ma trận mơ hình MapReduce Nhân hai ma trận MapReduce Tập liệu input [Tên ma trận],[Hàng],[Cột],[Giá trị] Ví dụ: A= File input.txt A,0,0,1 A,0,1,-1 A,0,2,0 A,1,0,2 A,1,1,1 A,1,2,1 Nhân hai ma trận MapReduce Tập liệu input A= A,0,0,12 A,0,1,-51 A,0,2,4 A,1,0,6 A,1,1,167 B= 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 MapReduce Và Bài Toán Nhân Hai Ma Trận Giải Thuật Map Giải Thuật Reduce Nhân hai ma trận MapReduce – Mơ hình Input files Mapping Shuffling Reducing (Key, Value) (Key, Value) (Key, Value) (0,0),(A,0,12) (0,1),(A,0,12) Input.txt A,0,0,12 A,0,1,-51 A,0,2,4 A,1,0,6 A,1,1,167 A,1,2,-68 B,0,0-2 B,0,1,1 B,1,0,1 B,1,1,2 B,2,0,0 B,2,1,3 (0,0),[(A,0,12),(A,1,-51),…,(B,2,0)] Key (0,0) List A = [(A,0,12)…] List B = [(B,0,-2),…] (0,0),(A,1,-51) (0,1),(A,1,-51) (0,0),(A,2,4) (0,1),(A,2,4) (0,1),[(A,0,12),(A,1,-51),…,(B,2,3)] Key (0,1) List A = [(A,0,12)…] List B = [(B,0,1),…] (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) (1,0),[(A,0,6),(A,1,-51),…,(B,2,0)] (1,1),[(A,0,6),(A,1,-51),…,(B,2,3)] Key (1,0) List A = [(A,0,6)…] List B = [(B,0,-2),…] … (0,1),(B,2,3) (1,1),(B,2,3) Result … P= Giải Thuật Map Giải Thuật Map  map(key,value): // value is(“A”,i,j,a_ij) or (“B”,j,k,b_jk)  if value[0]==”A”: i=value[1] j=value[2] a_ij=value[3] for k=0 to p-1: context.write((i,k) as key, (A,j,a_ij) as value) //p: so cot cua Ma tran B Giải Thuật Map else: j=value[1] k=value[2] b_jk=value[3] for i=0 to m-1: context.write((i,k) as key, (B,j,b_jk) as value) //m: so dong cua ma tran A Giải Thuật Map A,0,0,12 (0,0),(A,0,12) (0,1),(A,0,12) Sau tạo cặp key,value xếp 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)]) Giải Thuật Reduce 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) Nhân Hai Ma Trận Trong Hadoop MapReduce Giải Thuật Reduce ((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ử P00 Demo Nhân Hai Ma Trận Trong Hadoop MapReduce Demo Khởi động dịch vụ: ● hadoop/sbin/start-all.sh ● Tạo thư mục input: ● hdfs dfs -mkdir /input ● Đưa file matrix.txt lên hadoop: ● hdfs dfs -put ~/matran/input/* /input ● Demo 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ìnhhadoop jar mt.jar Matrix /input /output ● Xem kết ● hdfs dfs -cat /output/* ● Xin cảm ơn! .. .Bài tốn Nhân hai ma trận kích thước lớn Mơ tả tốn Nhân hai ma trận Bài tốn Nhân hai ma trận mơ hình Map Reduce Nội Dung Demo chương trình Thảo luận Mơ tả Bài toán Nhân hai ma trận 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 cơng thức: cij=ai1b1j+ai2b2j+ +ainbnj Ví d : với i=1 m; j=1 p Bài toán Nhân hai ma trận mơ hình MapReduce... A,0,0, 12 A,0,1,-51 A,0 ,2, 4 A,1,0,6 A,1,1,167 B= 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 MapReduce Và Bài Toán Nhân Hai Ma Trận Giải Thuật Map Giải

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

Từ khóa liên quan

Mục lục

  • Slide 1

  • Slide 2

  • Slide 3

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

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

  • Slide 11

  • Slide 12

  • Slide 13

  • Slide 14

  • Slide 15

  • Slide 16

  • Slide 17

  • Slide 18

  • Slide 19

  • Slide 20

Tài liệu cùng người dùng

Tài liệu liên quan