Nghiên cứu và xây dựng ứng dụng tư vấn trên nền tảng hadoop mapreduce

72 1K 0
Nghiên cứu và xây dựng ứng dụng tư vấn trên nền tảng 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

Nghiên cứu và xây dựng ứng dụng tư vấn trên nền tảng Hadoop MapreduceNghiên cứu và xây dựng ứng dụng tư vấn trên nền tảng Hadoop MapreduceNghiên cứu và xây dựng ứng dụng tư vấn trên nền tảng Hadoop MapreduceNghiên cứu và xây dựng ứng dụng tư vấn trên nền tảng Hadoop MapreduceNghiên cứu và xây dựng ứng dụng tư vấn trên nền tảng Hadoop MapreduceNghiên cứu và xây dựng ứng dụng tư vấn trên nền tảng Hadoop MapreduceNghiên cứu và xây dựng ứng dụng tư vấn trên nền tảng Hadoop Mapreduce

HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG - NGUYỄN VÂN ANH NGHIÊN CỨU VÀ XÂY DỰNG ỨNG DỤNG TƢ VẤN TRÊN NỀN TẢNG HADOOP MAPREDUCE LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) HÀ NỘI - 2016 HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG - NGUYỄN VÂN ANH NGHIÊN CỨU VÀ XÂY DỰNG ỨNG DỤNG TƢ VẤN TRÊN NỀN TẢNG HADOOP MAPREDUCE CHUYÊN NGÀNH : HỆ THỐNG THÔNG TIN MÃ SỐ: 60.48.01.04 LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) NGƢỜI HƢỚNG DẪN KHOA HỌC: TS ĐÀO ĐÌNH KHẢ HÀ NỘI - 2016 i LỜI CAM ĐOAN Tôi cam đoan công trình nghiên cứu riêng Các số liệu, kết nêu luận văn trung thực chƣa đƣợc công bố công trình TÁC GIẢ Nguyễn Vân Anh ii LỜI CÁM ƠN Lời em xin gửi lời cảm ơn chân thành tới tất thầy cô giảng dạy Khoa Công Nghệ Thông Tin, Học viện Công nghệ Bƣu Viễn thông tận tình truyền đạt kinh nghiệm kiến thức quý báu, thầy cô Khoa sau sau đại học tạo điều kiện, giúp em hoàn thành nhiệm vụ học tập suốt thời gian sinh viên trƣờng Em xin gửi lời biết ơn sâu sắc đến thầy giáo TS Đào Đình Khả, thầy tận tâm hƣớng dẫn, bảo, nhắc nhở em suốt trình học tập hoàn thành đồ án Bên cạnh đó, không nhắc tới yêu thƣơng chăm sóc gia đình Sự động viên bạn bè giúp em vƣợt qua khó khăn thực đề tài Mặc dù thân cố gắng trình thực đồ án nhƣng chắn không tránh khỏi thiếu sót Kính mong quý thầy cô bạn tận tình góp ý, bảo Một lần em xin cảm ơn mong nhận đƣợc tình cảm chân thành từ tất ngƣời Tác giả Nguyễn Vân Anh iii MỤC LỤC Lời cam đoan .i Lời cám ơn .ii Mục lục iii Danh mục từ viết tắt v Danh mục bảng biểu vi Danh mục hình vẽ .vii MỞ ĐẦU……… CHƢƠNG I 1.1 TỔNG QUAN VỀ BIG DATA VÀ HADOOP-MAPREDUCE Giới thiệu Big Data 1.1.1 Định nghĩa Big Data 1.1.2 Tầm quan trọng Big Data 1.2 Tổng quan Hadoop 1.2.1 Giới thiệu Hadoop thành phần Hadoop Escosystem .5 1.2.2 Lƣu trữ liệu lớn HDFS 1.3 Giới thiệu MapReduce 15 1.3.1 Giới thiệu mô hình tính toán MapReduce .15 1.3.2 Kiến trúc MapReduce .16 1.3.3 Mô hình làm việc luồng liệu MapReduce 23 1.3.4 MapReduce HDFS (Các đặc điểm tối ƣu MapReduce kết hợp với HDFS) 25 1.3.5 Phát triển ứng dụng theo mô hình MapReduce với Hadoop MapReduce 27 1.4 Kết luận chƣơng 29 CHƢƠNG II ỨNG DỤNG HADOOP-MAPREDUCE CHO HỆ TƢ VẤN .30 2.1 Giới thiệu vấn đề 30 2.1.1 Phát biểu toán tƣ vấn .30 2.1.2 Các phƣơng pháp xây dựng hệ tƣ vấn 33 2.2 Phƣơng pháp mạng Bayes cho lọc cộng tác 35 2.2.1 Định lý mạng Bayes 35 2.2.2 Phân loại dựa vào mạng Bayes 35 2.2.3 Áp dụng mạng Bayes cho hệ tƣ vấn 38 iv 2.2.4 Hadoop-Map Reduce dựa vào mạng Bayes 40 2.3 Phƣơng pháp SVD cho lọc cộng tác 45 2.3.1 Giới thiệu phƣơng pháp SVD (Singular Value Decomposition) 45 2.3.2 Áp dụng phƣơng pháp SVD cho hệ tƣ vấn 46 2.3.3 Phƣơng pháp SVD dựa vào Hadoop Map Reduce 47 2.3.4 Vấn đề chọn chiều phƣơng pháp SVD .52 2.4 Kết luận chƣơng 53 CHƢƠNG III THỰC NGHIỆM VÀ KẾT QUẢ 54 3.1 Dữ liệu thực nghiệm 54 3.2 Độ đo kiểm nghiệm 55 3.3 Phƣơng pháp thử nghiệm .55 3.4 Kết thử nghiệm 55 3.4.1 Thử nghiệm thời gian chạy .57 3.5 Đánh giá so sánh .58 3.5.1 Đánh giá phƣơng pháp lọc cộng tác 58 3.5.2 Đánh giá thuật toán trƣớc sau dùng Hadoop-MapReduce…… 59 3.5.3 Đánh giá phƣơng pháp tƣ vấn sử dụng MapReduce MyMedialite 59 3.6 Kết luận chƣơng 59 KẾT LUẬN…………… 61 TÀI LIỆU THAM KHẢO 62 v DANH MỤC TỪ VIẾT TẮT Ký hiệu API CBF CF HDFS JVM MAE MF RMSE Tiếng Anh Application Programming Interface Content – based Filtering Collaborative Filtering Hadoop Distribution File System Java Virtual Machine Mean Absolute Error Matrix Factorization Root Mean Square Error SVD Singular Value Decomposition Tiếng Việt Giao diện lập trình ứng dụng Lọc dựa nội dung Lọc cộng tác Hệ thống file phân tán Hadoop Máy ảo Java Trung bình sai số tuyệt đối Phân tích ma trận Căn bậc hai trung bình bình phƣơng sai số Phân rã giá trị riêng vi DANH MỤC CÁC BẢNG BIỂU Bảng 2-1: Ma trận đánh giá ví dụ 2.1 33 Bảng 2-2: Ví dụ toán sử dụng định lý Bayes 37 Bảng 2-3: Ví dụ 2.4 - Tập liệu 43 Bảng 2-4: Ví dụ 2.4 – Đầu DataSplitMapper sau xếp 43 Bảng 2-5: Ví dụ 2.4 – Đầu DataSplitReducer 44 Bảng 2-6: Ví dụ 2.4 – Đầu Count_Pcj_Mapper 44 Bảng 2-7: Ví dụ 2.4 – Đầu Count _Pcj_Reducer 45 Bảng 2-8: Ví dụ 2.5 - Tập liệu 50 Bảng 2-9: Ví dụ 2.5 – Đầu DataSplitMapper sau xếp 51 Bảng 2-10: Ví dụ 2.5– Đầu DataSplitReducer 51 Bảng 2-11: Giá trị MAE phương pháp sử dụng SVD với giá trị K khác 52 Bảng 3-1: Phương pháp SVD với độ giảm ma trận khác 55 Bảng 3-2: Kiểm nghiệm đánh giá tiêu chí phương pháp 57 Bảng 3-3: Kiểm nghiệm đánh giá tiêu chí phương pháp tập 1M 58 vii DANH MỤC CÁC HÌNH VẼ Hình 1-1:Cấu trúc thành phần Hadoop Hình 1-2: Tổng quan Hadoop cluster Hình 1-3: Kiến trúc HDFS 10 Hình 1-4: Quá trình đọc file HDFS 12 Hình 1-5: Quá trình tạo ghi liệu lên file HDFS 13 Hình 1-6: Mô hình MapReduce Google 16 Hình 1-7: Kiến trúc thành phần 16 Hình 1-8: Cơ chế hoạt động Hadoop MapReduce 18 Hình 1-9: Sự liên lạc TaskTracker thực thi MapTask JobTracker 19 Hình 1-10: Cơ chế hoạt động Map task 20 Hình 1-11: TaskTracker hoàn thành Map task 20 Hình 1-12: Cơ chế hoạt động Reduce Task 21 Hình 1-13: TaskTracker hoàn thành Reduce task 22 Hình 1-14: Luồng liệu MapReduce với Reduce Task [7] 24 Hình 1-15: Luồng liệu MapReduce với nhiều reduce task[7] 24 Hình 1-16: Hàm Map 25 Hình 1-17: Hàm Reduce 25 Hình 1-18: Data locality 26 Hình 1-19: Phát triển ứng dụng MapReduce Hadoop 27 Hình 2-1: Áp dụng MapReduce cho kỹ thuật lọc cộng tác sử dụng định lí Bayes 40 Hình 2-2: Áp dụng MapReduce cho kỹ thuật lọc cộng tác phương pháp SVD 47 Hình 3-1: Thời gian thực SVD với kích thước ma trận S khác 56 Hình 3-2: Giá trị MAE với kích thước ma trận S khác 56 Hình 3-3: Thời gian thực phương pháp(s) 57 Hình 3-4: Giá trị MAE với phương pháp khác 58 Hình 3-5: Đánh giá phương pháp tư vấn sử dụng MapReduce MyMedialite 59 MỞ ĐẦU Trong thời đại phát triển ngành công nghệ máy tính, số lƣợng ngƣời sử dụng máy tính tài nguyên trực tuyến để xử lý công việc, giải trí ngày tăng nhanh Theo ƣớc tính đến 2014, có 37% dân số Việt Nam sử dụng Internet, số lƣợng ngƣời gia nhập cộng đồng mạng giới cuối năm 2014 khoảng 2.7 tỷ ngƣời Hệ tất yếu gia tăng lƣợng ngƣời sử dụng khối lƣợng liệu số phát triển với tốc độ chóng mặt Hiện nay, số lƣợng trang web có mặt Internet lên tới hàng tỷ trang Điều đặt cho nhà phát triển Search Engine số thách thức lớn Thứ nhất, giới hạn khả lƣu trữ ổ cứng Giả sử trang web có kích thƣớc trung bình 10KB, tỷ trang web, ta cần 10Terabyte(TB) để lƣu trữ Với toàn khối lƣợng web Internet, khối lƣợng lƣu trữ cần tới hàng petabyte(PB), vƣợt khả lƣu trữ đĩa cứng thông thƣờng Thứ hai, cho dù vƣợt qua đƣợc giới hạn dung lƣợng, việc truy xuất khối lƣợng liệu đồ sộ nhƣ cách (trên đĩa đơn) thời gian giới hạn tốc độ đọc đĩa Do vậy, bắt buộc phải lƣu trữ liệu lên nhiều đĩa cứng thay Điều giúp cải thiện tốc độ truy xuất liệu ta tiến hành đọc/ghi cách song song lên đĩa Tuy nhiên, việc trì hệ thống phân tán với nhiều đĩa cứng dẫn đến số vấn đề cần đƣợc giải Đầu tiên, vấn đề hỏng hóc phần cứng Do liệu đƣợc lƣu nhiều phần cứng khác nhau, nên khả (hay nhiều) phần cứng xảy hỏng hóc tăng lên đáng kể Một cách giải vấn đề mà ta thấy ngay, lƣu trữ trùng lặp mẫu liệu lên nhiều đĩa cứng khác Vấn đề thứ hai việc phân tích liệu cần truy đọc liệu từ nhiều đĩa cứng khác Tức liệu đƣợc đọc từ đĩa cần đƣợc kết hợp với liệu từ đĩa khác hệ thống Các hệ thống phân tán thƣờng cho phép kết hợp liệu từ nhiều nguồn khác nhau, nhiên làm đƣợc điều cách xác không dễ chút 49 MoviesLen 100.000 đánh giá có số lƣợng sản phẩm 1682 lớn số ngƣời dùng :943 Đầu Job1 tập đầu vào Job2 Dữ liệu vào tƣơng ứng bƣớc đƣợc mô tả nhƣ sau:  K1 thứ tự dòng liệu tập liệu kiểm nghiệm  V1 dòng tập liệu  K2 cặp userid - itemid  V2 kết đánh giá cặp userid-itemid  K3 cặp userid-itemid  V3 cặp rating có sẵn kết qủa dự Lớp SVDPreMapper thực công việc: Bƣớc 1: Đọc tập liệu user-item đƣa ma trận đánh giá R ban đầu có kích thƣớc MxN, M số lƣợng item đƣợc đánh giá, N số lƣợng ngƣời dùng, rij tƣơng ứng đánh giá ngƣời dùng j cho sản phẩm i Bƣớc 2: Chuẩn hóa ma trận đầu vào: Ở bƣớc xử lí ma trận đánh giá ban đầu R để loại bỏ giá trị liệu chƣa đánh giá Từ ma trận đánh giá R ta tính trung bình tất hàng ri dựa đánh giá khác 0, i = 1,2, , M; tính giá trị trung bình tất cột rj , j = 1, 2, , N Thay tất mục ma trận giá trị, biểu ⊥, với cột trung bình tƣơng ứng rj ta thu đƣợc ma trận R’ Trừ giá trị trung bình hàng tƣơng ứng ri cảu tất giá trị ma trận vừa thu đƣợc R’, ta thu đƣợc ma trận chuẩn hóa R” Bƣớc 3: Tính toán SVD Áp dụng công thức ta tính SVD R” có đƣợc ma trận U, S V, có kích thƣớc M×K, K×K K×N tƣơng ứng Trong K độ giảm ma trận(số chiều ma trận S) Bƣớc 4: Đƣa kết dự đoán 50 Tính √ sau tính toán hai ma trận sản phẩm: Uk√ M ngƣời sử dụng Sk √ T T đại diện cho đại diện cho N sản phẩm k chiều không gian đặc trƣng Đọc tập liệu kiểm nghiệm, duyệt cặp userid itemid tập kiểm nghiệm tính dự đoán dánh giá cho cặp Lớp SVDPreReduce thực công việc: Ghi vào file part-r-00000 kết dự đoán cặp userid - itemid tƣơng ứng Ví dụ 2.5:Áp dụng MapReduce cho hệ tƣ vấn dựa theo phƣơng pháp Bayes: Tập liệu sử dụng tập liệu ví dụ 2.1 Trƣớc hết ta viết lại tập liệu với định dạng giống tập liệu MovieLens: Bảng 2-8: Ví dụ 2.5 - Tập liệu Userid itemid rating Userid itemid rating 1 2 3 3 3 5 5 2 4 5 4 Bƣớc 1: Xử lý tập liệu đầu vào DataSplitMapper: Đầu vào: dòng liệu tập liệu đầu vào Đầu ra: (K2,V2) với K2 itemid V2 userid với rating Dữ liệu đầu DataSplitMapper đƣợc xếp nhóm lại trƣớc đƣợc đƣa vào xử lý DataSplitReducer nhƣ sau: 51 Bảng 2-9: Ví dụ 2.5 – Đầu DataSplitMapper sau xếp Key (itemid) Values list(userid rating) 1 5, 5, 2, 4, 3, 4, 1, 3, 2, 5, 2, 3, DataSplitReducer: Đầu vào: dòng liệu tập liệu đầu DataSplitMapper Đầu ra: tập (K2, V2) K2 itemid, V2 xâu gồm cặp userid rating, ngăn cách dấu “;” Bảng 2-10: Ví dụ 2.5– Đầu DataSplitReducer Key (itemid) Value 1 5; 5; 2; 4; 3; 4; 1; 3; 2; 5; 2; 3; Bƣớc 2: Dự đoán đánh giá ngƣời dùng u với sản phẩm i Gọi hàm tính toán SVD ta đƣợc kết đầu ra: Ma trận A= 52 Ma trận √ = Ma trận VT = Ma trận U = Ta có: R= ri + U√ x √ VT ri: ma trận đánh giá trung bình user thứ i R: kết đánh giá ngƣời dùng sản phầm Duyệt liệu kiểm tra tính toán Bayes ta tìm đƣợc đánh giá (1,2,3,4,5) có xác suất cao đƣa dự đoán ngƣời dùng u4 sản phẩm i3, i5, i6 Áp dụng công thức ta tính đƣợc giá trị nhƣ sau: p4,3 = 3,678 ; p4,5 = 3.68; p4,6 = 4.192 2.3.4 Vấn đề chọn chiều phương pháp SVD Trong phƣơng pháp SVD độ xác hay tốc độ tính toán đánh giá phụ thuộc lớn vào việc chọn K hạng hay số chiều ma trận S Sau ví dụ tiến hành thuật toán SVD với giá trị khác nhau: Bảng 2-11: Giá trị MAE phƣơng pháp sử dụng SVD với giá trị K khác K\SVD Time K=5 109 MAE 0.8834369 K=10 113 0.883004 K=15 114 0.883329 K=20 115 0.882856 53 K=25 115 0.882287 K=50 116 0.883496 K=100 117 0.8876300 K=150 117 0.8914540 K=200 118 0.893937 K lớn tốc độ tính toán lâu phải tính ma trận có chiều lớn Tuy nhiên độ xác cao 2.4 Kết luận chƣơng Nhƣ vậy,chƣơng trình bày định nghĩa cách áp dụng framework MapReduce thành công cho phƣơng pháp mạng Bayes SVD lọc cộng tác dựa mô hình cho toán hệ tƣ vấn Việc áp dụng Hadoop MapReduce cho phƣơng pháp mang đến nhiều lợi ích nhƣ: tăng hiệu việc tính toán tận dụng đƣợc tài nguyên phần cứng để thực tính toán song song, tăng khả chịu lỗi việc tính toán không phụ thuộc vào việc xảy lỗi máy Cụ thể chƣơng em đƣa thực nghiệm so sánh kết quả, độ đo kiểm nghiệm, độ xác nhƣ hiệu thời gian cho phƣơng pháp 54 CHƢƠNG III THỰC NGHIỆM VÀ KẾT QUẢ Chƣơng trình bày phƣơng pháp thực nghiệm kết thực nghiệm thuật toán nêu chƣơng đồng thời đƣa đánh giá so sánh kết thực nghiệm nhằm kiểm tra tính xác lý thuyết tính hiệu thuật toán trình bày Nội dung Chƣơng gồm phần: - Dữ liệu thực nghiệm - Phƣơng pháp thử nghiệm - Kết thử nghiệm - Đánh giá so sánh 3.1 Dữ liệu thực nghiệm Đồ án sử dụng tập liệu MovieLens[13] Đây tập liệu đƣợc thu thập Dự án nghiên cứu GroupLens Đại học Minnesota Tập liệu MovieLens có ba lựa chọn với kích thƣớc khác lần lƣợt là: MovieLens 100k, MovieLens 1M MovieLens 10M Đồ án sử dụng tập liệu  Tập MovieLens 100k chứa 100K đánh giá 943 ngƣời dùng cho khoảng 1682 phim  Tập MovieLens 1M chứa 1M đánh giá 6040 ngƣời dùng cho khoảng 3952 phim  Tất đánh giá đƣợc lƣu file “ratings.dat” theo định dạng:  UserID::MovieID::Rating::Timestamp  UserID số nguyên khoảng đến 6040  MovieID số nguyên khoảng đến 3952  Rating số nguyên khoảng đến Ví dụ: 1::1193::5::978300760 1::661::3::978302109 1::914::3::978301968 55 3.2 Độ đo kiểm nghiệm Đồ án sử dụng hai độ đo sau để kiểm nghiệm độ xác phƣơng pháp thực nghiệm: Trung bình sai số tuyệt đối (MAE)[18] : phƣơng pháp phổ biến để đánh giá độ xác dự đoán Trung bình sai số tuyệt đối đƣợc tính theo công thức: ∑ (3.1) Trung bình bình phƣơng sai số (RMSE)[18] : phƣơng pháp tính trung bình bình phƣơng sai số theo công thức: √ ∑ ( ) (3.2) 3.3 Phƣơng pháp thử nghiệm Cách phân chia tập liệu huấn luyện kiểm nghiệm: Tập liệu đƣợc chia thành tập liệu huấn luyện tập liệu kiểm nghiệm với kích thƣớc lần lƣợt 80% 20%.Việc phân chia tập liệu đƣợc thực lớp ProcessInput Tập liệu huấn luyện tập kiểm nghiệm đƣợc chia cách ngẫu nhiên, liệu lần chia khác nhau, thực chia nhiều lần thực chạy tập khác để kết đƣợc xác 3.4 Kết thử nghiệm Thử nghiệm 1: Thử nghiệm phƣơng pháp lọc cộng tác phƣơng pháp sử dụng SVD với độ giảm ma trận khác nhau: Bảng 3-1: Phƣơng pháp SVD với độ giảm ma trận khác K\SVD Time K=5 109 MAE RMSE 0.8834369 1.137586 K=10 113 0.883004 1.138345 K=15 114 0.883329 1.138896 56 K=20 115 0.882856 1.138741 K=25 115 0.882287 1.138530 K=50 116 0.883496 1.141356 K=100 117 0.8876300 1.146158 K=150 117 0.8914540 1.148818 Hình 3-1: Thời gian thực SVD với kích thƣớc ma trận S khác Hình 3-2: Giá trị MAE với kích thƣớc ma trận S khác 57 Nhận xét: Đối với phƣơng pháp lọc cộng tác sử dụng SVD độ xác thuật toán phụ thuộc vào giá trị chọn k(kích thƣớc ma trận đƣờng chéo S) Ở giá trị k = 25 cho độ xác cao với MAE = 25 3.4.1 Thử nghiệm thời gian chạy Thử nghiệm 1: Trong thử nghiệm nhằm so sánh thời gian chạy đồng thời đƣa đánh giá độ xác phƣơng pháp Thử nghiệm thời gian chạy tập Movie Lens 100K đánh giá Bảng 3-2: Kiểm nghiệm đánh giá tiêu chí phƣơng pháp Tiêu chí Mạng Bayes MapReduce SVD MapReduce Mạng Bayes thƣờng SVD thƣờng Thời gian 27s 109s 95s 151s MAE 1.007064 0.882287 1.007064 0.882287 RMSE 1.453273 1.138530 1.453273 1.138530 Hình 3-3: Thời gian thực phƣơng pháp(s) 58 Hình 3-4: Giá trị MAE với phƣơng pháp khác Thử nghiệm 2: Thử nghiệm thời gian chạy tập MoviesLen 1M: Bảng 3-3: Kiểm nghiệm đánh giá tiêu chí phƣơng pháp tập 1M Mạng Bayes Bayes-MR SVD Thời gian 3625s 3023s - MAE 1.037532 1.037532 - RMSE 1.427872 1.427872 - 3.5 Đánh giá so sánh 3.5.1 Đánh giá phương pháp lọc cộng tác Về thời gian chạy: phƣơng pháp lọc cộng tác dựa vào mô hình sử dụng mạng Bayes- MapReduce cho tốc độ tính toán nhanh (27s) so phƣơng pháp sử dụng SVD(109s) Về độ xác: phƣơng pháp áp dụng SVD (MAE: 0.882287 ) cho kết xác cao so với việc áp dụng Mạng Bayes (MAE: 1.007064) 59 3.5.2 Đánh giá thuật toán trước sau dùng Hadoop-MapReduce Về thời gian: theo bảng so sánh, rõ ràng thời gian chạy sử dụng MapReduce ngắn nhiều so với không sử dụng MapReduce Về độ xác: liệu, thuật toán, nên độ xác đƣợc đánh giá tƣơng đối giống hệ thống có sử dụng không sử dụng Hadoop- Mapreduce 3.5.3 Đánh giá phương pháp tư vấn sử dụng MapReduce MyMedialite Hình 3-5: Đánh giá phƣơng pháp tƣ vấn sử dụng MapReduce MyMedialite Theo số liệu mục thời gian chạy sử dụng thƣ viện MyMedialite lớn nhiều sử dụng MapReduce Trong điều kiện thực máy, không tận dụng đƣợc hết khả tính toán song song Hadoop – MapReduce, kết tốt Nhƣ vậy, áp dụng Hadoop – MapReduce cho hệ tƣ vấn góp phần giải đƣợc vấn đề mở rộng xây dựng hệ tƣ vấn cho liệu lớn 3.6 Kết luận chƣơng Chƣơng đồ án trình bày trình thực nghiệm đánh giá kết xây dựng hệ tƣ vấn dựa Hadoop – MapReduce Quá trình thực nghiệm cho 60 kết tốt Các kết thực nghiệm cho thấy tính khả thi việc mở rộng hệ tƣ vấn sử dụng Hadoop – MapReduce khẳng định tính đắn vấn đề lý thuyết đƣợc nêu chƣơng Dựa phƣơng pháp xây dựng hệ tƣ vấn đƣợc trình bày chƣơng thực nghiệm chƣơng 3, hoàn toàn áp dụng phƣơng pháp vào thực tế để giải vấn đề liệu lớn Các kết chƣa phải tối ƣu điều kiện sở vật chất để thực nghiệm hạn chế 61 KẾT LUẬN Kết đạt đƣợc Luận văn trình bày phƣơng pháp áp dụng MapReduce để mở rộng hệ tƣ vấn với phƣơng pháp lọc cộng tác (CF) dựa vào mô hình, tập trung nghiên cứu kỹ thuật bản: - Lọc cộng tác sử dụng định lý mạng Bayes - Lọc cộng tác sử dụng công thức SVD Kết thực nghiệm đánh giá cho thấy: - Trên tập liệu MovieLens 1M 100K, kỹ thuật lọc cộng tác dựa vào mô hình Mạng Bayes SVD đƣợc áp dụng MapReduce cho kết thời gian chạy tốt nhiều độ xác tƣơng tự so với phƣơng pháp truyền thống - Trong phƣơng pháp sử dụng, phƣơng pháp Mạng Bayes cho ta kết thời gian chạy tốt so với phƣơng pháp sử dụng SVD nhiên sai số tuyệt đối phƣơng pháp cao - Phƣơng pháp lọc cộng tác dựa vào mô hình sử dụng SVD tốc độ độ xác thuật toán phụ thuộc vào việc chọn K (kích thƣớc ma trận đƣờng chéo S) Hạn chế Đồ án số hạn chế chƣa thực nghiệm đƣợc phƣơng pháp SVD tập liệu lớn sở vật chất không cho phép Hƣớng phát triển tiếp theo: Nghiên cứu phƣơng pháp phân tích ma trận (Matrix Factorization - MF) áp dụng việc tính độ tƣơng tự sản phẩm thông qua ma trận đại diện ngƣời dùng sản phẩm từ đƣa hệ tƣ vấn cho độ xác thuật toán cao Hadoop- MapReduce ngày trở nên phổ biến đƣợc ứng dụng nhiều lĩnh vực công nghệ cao hứa hẹn giải vấn đề thời gian, đáp ứng thời gian thực hệ thống tƣ vấn thông minh đem lại tiện lợi cho ngƣời 62 TÀI LIỆU THAM KHẢO Tài liệu tiếng anh [1] Jean-Perrie Dijick (June 2013),“Oracle: Big Data For Enterprise”, Oracle White Paper; [2]Perera and Thilina Gunarathne (2013), “Hadoop MapReduce Cookbook”, Packt Publishing; [3] Hrishikesh Karambelkar (2013), “Scaling Big Data With Hadoop and Solr”, Pakt Publishing Ltd; [4] Ahmed Metwally, Christos Faloutsos (2012)“V-SMART-Join: A Scalable MapReduce Framework for All-Pair Similarity Joins of Multisets and Vectors” in Proceedings of the VLDB Endowment VLDB Endowment Hompage archive Volume Issue 8, Pages 704-715 [5] Sebastian Schelter, Christoph Boden and Volker Markl (2012),“Scalable Similarity-Based Neighborhood Methods with MapReduce”, in RecSys '12 Proceedings of the sixth ACM conference on Recommender systems Pages 163-170, Technische Universität Berlin, Germany [6] Garry Turkington (2013), “Hadoop Beginner’s Guide”, Packt Publishing [7] Tom White (May 2012), “Hadoop: The definitive guide, Third edition”, O'Reilly Media / Yahoo Press; [8] Byoungju Yang, Jaeseok Myung, Sang-goo Lee and Dongjoo Lee (2013),“A MapReduce-based Filtering Algorithm for Vector Similarity Join” in ICUIMC '13 Proceedings of the 7th International Conference on Ubiquitous Information Management and Communication Article No 71 Website [9] http://en.wikipedia.org/wiki/Big_data Truy cập ngày 2/3/2016 [10] http://en.wikipedia.org/wiki/Cold_start Truy cập ngày 5/3/2016 [11] Hadoop: http://hadoop.apache.org/ Truy cập ngày 2/3/2016 [12]http://blogs.msdn.com/b/avkashchauhan/archive/2012/03/29/how-to-chainmultiple-mapreduce-jobs-in-hadoop.aspx Truy cập ngày 2/3/2016 [13] Data set: http://grouplens.org/datasets/movielens/ Truy cập ngày 1/4/2016 [14] http://ankitasblogger.blogspot.com/2011/01/hadoop-cluster-setup.html [15] http://mymedialite.net/ Truy cập ngày 2/4/2016 63 [16] http://en.wikipedia.org/wiki/Recommender_system Truy cập ngày 5/5/2016 [17] http://en.wikipedia.org/wiki/Mean_absolute_error Truy cập ngày 12/5/2016 [18] http://en.wikipedia.org/wiki/Root-mean-square_deviation Truy cập ngày 15/5/2016 [...]... án của em trình bày phƣơng pháp áp dụng framework này vào việc xây dựng hệ tƣ vấn bằng phƣơng phƣơng pháp lọc cộng tác dựa vào mô hình áp dụng Mạng Bayes và SVD Nội dung của đồ án gồm: Chƣơng 1: Tổng quan về Big Data và Hadoop- MapReduce Chƣơng 2: Ứng dụng Hadoop- MapReduce cho hệ tƣ vấn Chƣơng 3: Thực nghiệm và kết quả 3 CHƢƠNG I TỔNG QUAN VỀ BIG DATA VÀ HADOOPMAPREDUCE Chƣơng 1 giới thiệu tầm quan... rack, và rack này đƣợc kết nối với nhau thông qua switch, và switch này cũng đƣợc kết nối với các switch tƣơng tự), điều này cũng giảm đáng kể chi phí đọc dữ liệu từ xa và tiêu thụ băng thông 1.3.5 Phát triển ứng dụng theo mô hình MapReduce với Hadoop MapReduce Sau đây là toàn bộ quá trình phát triện một ứng dụng theo mô hình MapReduce với HadoopMapReduce Hình 1-18: Phát triển ứng dụng MapReduce trên Hadoop. .. công cụ và giao diện cho hệ thống phân tán và các tiện ích I/O Đây là phần lõi để xây dựng nên HDFS và MapReduce MapReduce (MapReduce Engine): một framework giúp phát triển các ứng dụng phân tán theo mô hình MapReduce một cách dễ dàng và mạnh mẽ, ứng dụng phân tán MapReduce có thể chạy trên một cluster lớn với nhiều node HDFS: hệ thống file phân tán, cung cấp khả năng lƣu trữ dữ liệu khổng lồ và tính... Hadoop, đó là HDFS và MapReduce 1.2.2 Lưu trữ dữ liệu lớn trên HDFS 1.2.2.1 Tổng quan của một Hadoop Cluster Một Hadoop cluster có HDFS và MapReduce là hai thành phần chính Kiến trúc của Hadoop là kiến trúc master-slave, và cả hai thành phần HDFS và MapReduce đều tuân theo kiến trúc master-slave này Kiến trúc một Hadoop cluster nhƣ sau: Hình I-1: Tổng quan một Hadoop cluster Trên một hadoop cluster, có... quản lý) 6 - Hadoop là Linux-based Tức Hadoop chỉ chạy trên môi trƣờng Linux 2 1.2.1.2 Các thành phần của Hadoop Ecosystem Ngày nay, ngoài NDFS (đã đƣợc đổi tên lại thành HDFS – Hadoop Distributed File System) và MapReduce, đội ngũ phát triển Hadoop đã phát triển các dự án con dựa trên HDFS và MapReduce Hiện nay, Hadoop gồm có các dự án con sau: Hình 1-1:Cấu trúc các thành phần của Hadoop Core: cung... dụng rộng rãi) Hadoop cho phép lƣu trữ và truy cập dữ liệu, xử lí, phân tích cũng nhƣ hỗ trợ học máy trên tập dữ liệu lớn một cách phân tán thông qua các cụm server (cluster)[3] Theo Wikipedia: Apache Hadoop hay Hadoop là một software framework hỗ trợ các ứng dụng phân tán dữ liệu chuyên sâu và miễn phí Nó cho phép các ứng dụng làm việc với hàng ngàn máy tính tính toán độc lập và petabyte dữ liệu Hadoop. .. hiểu rõ hơn về khách hàng và xu hƣớng của họ, đồng thời giúp các hệ thống tƣ vấn đƣa ra những gợi ý chính xác cho ngƣời dùng 1.2 Tổng quan về Hadoop 1.2.1 Giới thiệu Hadoop và các thành phần của Hadoop Escosystem 1.2.1.1 Giới thiệu Hadoop Hadoop là một phần mềm mã nguồn mở đƣợc viết bằng java cho phép phát triển các ứng dụng phân tán có dữ liệu lớn một cách miễn phí, cha đẻ của Hadoop là Doug Cutting... trúc của MapReduce 1.3.2.1 Kiến trúc các thành phần (JobTracker, TaskTracker) Hình 1-6: Kiến trúc các thành phần 17 Xét một cách trừu tƣợng, Hadoop MapReduce gồm 4 thành phần chính riêng biệt: Client Program: Chƣơng trình HadoopMapReduce mà client đang sử dụng và tiến hành chạy một MapReduce Job JobTracker: Tiếp nhận job và đảm nhận vai trò điều phối job này, nó có vai trò nhƣ bộ não của Hadoop MapReduce. .. truy vấn dựa trên SQL Chukwa: một hệ thống tập hợp và phân tích dữ liệu Chukwa chạy các collector (các chƣơng trình tập hợp dữ liệu), các collector này lƣu trữ dữ liệu trên HDFS và sử dụng MapReduce để phát sinh các báo cáo 7 Pig: ngôn ngữ luồng dữ liệu cấp cao và framework thực thi dùng cho tính toán song song Trong khuôn khổ của luận văn này, em chỉ nghiên cứu hai phần quan trọng nhất của Hadoop, ... ghi nhật ký các thay đổi vào EditLog và FsImage đƣợc lƣu trữ trên hệ thống file local của NameNode DataNode: chứa các block dữ liệu thực sự của các file trên HDFS, chịu trách nhiệm đáp ứng các yêu cầu đọc/ghi dữ liệu từ client, đáp ứng các yêu cầu tạo/xoá các block dữ liệu từ NameNode JobTracker và TaskTracker chịu trách nhiệm duy trì bộ máy MapReduce, nhận và thực thi các MapReduce Job Vai trò cụ

Ngày đăng: 02/12/2016, 03:54

Từ khóa liên quan

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

Tài liệu liên quan