MỞ ĐẦULý do chọn đề tài: Gần đây, chúng ta đã và đang chứng kiến những tiến bộ to lớn trong quy mô cua dit liệu mà chúng ta thường xuyên tạo ra và thu thập trong hầu hết mọi thứ chúng ta
Trang 1NGUYÊN QUỐC AN
LƯU HOÀNG HIỆP
KHOA LUAN TOT NGHIEP ; ;
XAY DUNG DATALAKE HO TRO GOI Y TAP KHACH HANG
TRONG NGANH BAN LE
Build Data Lake to support suggesting customer group
in retail industries
KY SU NGANH KY THUAT PHAN MEM
TP HO CHi MINH ,2021
Trang 2NGUYEN QUOC AN -16520012
LUU HOANG HIEP -16520379
KHOA LUAN TOT NGHIEP ; ;
XAY DUNG DATALAKE HO TRO GOLY TAP KHACH HANG
TRONG NGANH BAN LE
Build Data Lake to support suggesting customer group
Trang 3THONG TIN HỘI DONG CHAM KHÓA LUẬN TOT NGHIỆP
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số
¬¬ ngày của Hiệu trưởng Trường Dai học Công nghệ Thông tin.
1 Chủ tịch: TS Nguyễn Tan Tran Minh Khang
2 Thu ky: ThS Nguyén Tan Toan
3 Uy vién: ThS Huynh Tuan Anh
Trang 1
Trang 4LỜI CÁM ƠN
Xin gửi lời cảm ơn sâu sắc đến Thầy Vũ Đức Lung và Cô Đỗ Thị Thanh
Tuyền trong thời gian này đã hỗ trợ chúng em xây dựng khóa luận tốt nghiệp Qua
một học ky 15 tuần chúng em đã học được rất nhiều kiến thức hữu ích, những gid
được làm việc và có được sự hỗ trợ tận tình, thoải mái và trong tâm trạng dễ tiếp thu nhất Các công việc tiễn độ hăng tuần cũng như tài liệu thầy đã giao trên Microsoft
Team đã giúp chúng em có một lượng kiến thức nhất định dé xây dựng nên khóa
luận tốt nghiệp.
Kết quả thu được trong khóa luận tốt nghiệp ngoài sự đầu tư, quyết tâm của nhóm thực hiện mà còn có những công sức ý kiến và giảng dạy kiến thức trong quá trình chúng em bắt đầu học, cảm ơn thầy và cô đã giúp đỡ chúng em vượt qua
những khó khăn trong học kỳ này vì luôn rất tâm huyết truyền lại kiến thức và giải
đáp các thắc mắc của sinh viên chúng em.
Khóa luận tốt nghiệp chính là những kiến thức chúng em đã tổng hợp được thông qua quá trình học tập từ những kiến thức mà thầy, cô đã giảng dạy chúng em, nếu trong quá trình chấm báo cáo có sai sót xin thầy hãy thông cảm cho chúng em, mỗi cá nhân trong nhóm đều đã cố găng hết mình đề có thê xây dựng nên một khóa luận tốt nghiệp hoàn chỉnh và cố gang hướng tới một kết quả tốt nhất có thể.
Lời cuối cùng van là lời cảm ơn sâu sắc và chân thành nhất đến thầy Lung va
cô Tuyền đã giúp chúng em có được những kiến thức vững chắc dé sau này bắt đầu
vào môi trường thực tế sẽ không gặp nhiều khó khăn cũng như có thé áp dụng các
kiến thức mình học được từ thầy khi ở trên lớp dé áp dụng giải quyết van đề thực tế
một cách tốt nhất.
Nhóm thực hiện
Trang 2
Trang 5ĐHQG TP HO CHi MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc CÔNG NGHỆ THÔNG TIN
DE CUONG CHI TIẾT
TÊN DE TÀI TIENG VIỆT: Xây dung DataLake hỗ trợ gợi ý tập khách hàng trong
ngành bán lẻ.
TEN DE TÀI TIENG ANH: Build Data Lake to support suggesting customer group in
retail industries.
Cán bộ hướng dẫn: PGS.TS Vũ Đức Lung, ThS Đỗ Thị Thanh Tuyền
Thời gian thực hiện: Từ ngày 01/09/2020 đến ngày 21/01/2021
Sinh viên thực hiện: Nguyễn Quốc An - 16520012, Lưu Hoàng Hiệp - 16520379
Nội dung đề tài
Tổng quan dé tài
Với sự phát triên một cách nhanh chóng của xã hội ngày nay, việc ứng dụng công
nghệ thông tin vào các doanh nghiệp với mục đích chuan hóa các quy trình ra quyết định
của công ty,va dữ liệu sé là nên tảng và diém khởi đâu cho các cuộc thảo luận vê chuyên
đổi doanh nghiệp
Dữ liệu sẽ tiếp tục trao quyền cho con người, công nghệ và quy trình Dữ liệu cho phép
các tô chức hiểu khách hàng của họ, dự đoán nhu cầu và sở thích của họ và phản hồi
nhanh hơn Dữ liệu cũng đã trở thành xương sống cho mọi thứ phải làm với những cải
tiền về chất lượng và khả năng của sản phẩm Dữ liệu thậm chí còn cho phép các tô chức
hiểu bản thân và hoạt động hiệu quả hơn thông qua phân tích các chu kỳ kinh doanh, thói
quen của nhân viên va nhu câu của khách hàng.
Trang 3
Trang 6Đó chính là lý do mà nhóm em chọn đề tài xây dựng DataLake hỗ trợ gợi ý tập khách hang trong ngành bán lẻ, với mục đích là làm cho các doanh nghiệp hiểu khách hàng
của họ và cải thiện chất lượng, dịch vụ của doanh nghiệp.
Nhóm em tin rằng, đây sẽ là giải pháp hữu ich và thực tiễn cho cơ quan, tổ chức, doanh
nghiệp.
Lý thuyết thực tiễn
Xây dựng hệ thống DataLake và áp dụng kiến thức về trí tuệ nhân tạo, cho phép cơ
quan, tổ chức, doanh nghiệp thực hiện tìm hiểu nhu cầu, sở thích của khách hàng giúp
các doanh nghiệp cải thiện chất lượng dịch vụ Dựa vào dữ liệu có thé tìm hiểu được
nhu cầu của khách hàng và cung câp báo cáo và phân tích dư liệu.
Kết quả dự kiến
Xây dựng hệ thống DataLake và một hệ hỗ trợ ra quyết định cho phép doanh nghiệp
tìm hiểu hiểu nhu cầu, sở thích của khách hàng giúp các doanh nghiệp cải thiện chất
lượng dịch vụ Dựa vào đữ liệu có thể tìm hiểu được nhu cầu của khách hàng và cung
câp báo cáo và phân tích dư liệu.
Và sau đó có thé gợi ý các sản phẩm phủ hợp cho khách hang.
Kế hoạch thực hiện:
STT Công việc Thời gian thực hiện
Phase 1: Tìm hiểu các hệ thống DataLake hiện có 8 tuần
1 Tìm hiểu các định nghĩa về Big Data và
DataLake
Trang 7-Tìm hiểu kiến trúc của 1 big data system
-Chi phí,bảo mật,tính mở rộng, kha năng
chịu lỗi
Tuần 1-2
(1/9/2020-14/9/2020)
Tìm hiểu kiến trúc Lambda
2.1 -Tìm hiểu nguyên lý hoạt động của Batch
Layer,Serving Layer,Speed Layer
-Xác định điểm mạnh và điểm yếu của kiến
trúc Lambda
Tuần 3-4
(15/9/2020-30/9/2020)
Xây dựng DataLake trên mô hình kiến
trúc Lambda và cải tiên
-Deploy Kafka,Hadoop,Zookeeper, Dremio
-Deploy Database PostgreSQL
-Deploy Confluent dé hoan thién kién tric
Trang 8Tìm hiểu Recommender System
4.1 -Tim hiéu Recommender System
-Tim hiéu vé Hybrid Recommended,
Collaborative Filtering,Content Based Filtering ,Session-Based
Filtering ,Reinforcement Learning
-Tim hiéu vé Memory Based va Model
Based trong Collaborative Filtering
2 tuần
(2/11/2020-16/11/2020)
Lựa chọn thuật toán
thống (cây quyết định,K-Means,K-Nearest
Neighbor) -Lựa chọn các công thức đánh gia phù hop (Cosine Similarity, Pearson correlation
coefficient, Euclidean Distance, )
2 tuần
(17/11/2020-30/1 1/2020)
Xây dựng Recommender System
Collaborative Filtering va Content Based
Filtering theo thời gian thực
-Xây dựng một giao diện trực quan và đơn
giản cho người dùng phô thông
Trang 9Xác nhận của CBHD Tp HCM, ngày 27 tháng 12 năm 2020
(Ký tên và ghi rõ họ tên) Sinh viên
(Ký tên và ghi rõ họ tên)
Vũ Đức Lung Đỗ Thị Thanh Tuyền
Trang 7
Trang 10CHUONG 5 PHÂN TÍCH THIET KE HE THONG s s-s<ss©+setsseerseerssserssee 52
5.1 TRINH BAY VE CUSTOMER DATA PLATFORM , SINGLE CUSTOMER VIEW - s5 se +s+ssx 52 5.2 PHAN TICH DOI TUONG KHACH HANG c0 4 53
5.3 NHỮNG CÔNG NGHE ĐƯỢC UNG DỤNG TRONG DATA LAKE cssesessesesesseseeseseeseeseseeaeseeseseeseeeeseeees 59
5.4 NHUNG CONG NGHỆ ĐƯỢC UNG DUNG TRONG RECOMMENDER SYSTEM 62
5.5 TONG QUAN VỀ HE THÓNG
5.5.1 Pham vi cua hé thong "
5.5.2 Mục đích cua hệ thong 5.5.3 So sánh với các hệ thông hiện có trên thị ÍFWỜIg - - cttktkkkTHTnnHnHnHngngnri, 65
5.6 PHAN TÍCH NGHIỆP VU CUA HE THONG
5.6.1 Usecase của hệ thong.esccccccccessvscsssssesssesssessesssesssesssessssssesssesssessusssesssesssessecssesssecssesssssseesuessseesees
Trang 115.6.2 Danh sách các yêu cầu để xây dựng DataLake - KHI 5.6.3 Danh sách các yêu cầu dé xây dựng Recommender System 85
5.6.4 Phan tich 2108/78/1270 PPP8A.4Ả.ÔS 97
5.6.5 Thiết kê và mô tả giao diện 100
CHƯƠNG 6 XÂY DỰNG DATA LAKE 110
6.1 TRINH BAY Ý TƯỞNG
CHƯƠNG7 HIỆN THỰC HÓA Ý TƯỞNG VỀ DATALAKE 113
TA YEU CAU PHAN MEM 113
7.2 YEU CAU PHAN CUNG - 5+2 113
7.3 HƯỚNG DAN CHUAN BỊ MOI TRUONG LAM VIỆC 114
7.3.1 Cài đặt DAV ecccccccscccccsccessesessecsesseeessseees 114 7.3.2 Cai dat Oracle JDK 114 7.3.3 Cai đặt Hadoop „115 7.3.4 Cài đặng KAFKA 118 7.3.5 Cài đặt dremio 119 7.3.6 Cài dat sqoop/postgreesqi/hbase 120 7.3.7 Xây dựng DafqLA€ G- Gv ng Hàng HH TT ch nh 121
CHUONG8 XÂY DỰNG RECOMMENDER SYSTEM VA TONG QUAN CUA TOÀN BỘ HỆ
THÓNG 130
8.1 W)\)):8027.9À4i009c077 766
8.2 HIỆN THỰC HÓA Y TƯỞNG.
8.2.1 Phan khai thác đữ liệu 8.2.2 Phần hiện thi OLicccccccccccccccccccccccscccsescccessccesscceessesesseccesssessaecesseecsssscesseeesseececseseseecesseesenseceeaeees
8.3 MÔ HÌNH KIEN TRÚC CUA TOAN BO HE THONG cccccscssessesscsesssecceceeseeseeseeseeseesecsecsscsecsecsscsseeeeees 143
CHUONG 9 KÉT LUẬN VA HƯỚNG PHAT TRIEN -2-s<s°©se©s<essesseessecsserssese 144
9.1 KET QUA ĐẠT DUOC ĐĐ WE damn ort WI Lic cccccceeccnsssescensecseessseeesecssseesneesens 144
9.2 NHAN XET ` Se Se Se ee
9.2.1 Ưu CEC II a gene aaa ÀÀ«œÀ«ÂẴẤÁÀẶLẶGeeeeeeerrerreerre
9.2.2 Khuyét điểm se.
9.3 15109)/689:7.009:1)2)22.7 145
CHƯƠNG 10 TÀI LIEU THAM KHHẢO - 2° s©s©ss£Sss€SsEvseEsserseerservserssersserssrsse 146
Trang 12DANH MỤC HÌNH VE
HÌNH 1: ĐẶC DIEM CUA DU LIEU LON (BIG DA TA) - - 2222222223222 2E2E2 2 xexexerrrrrree 23
HÌNH 2: TANG TRUONG DU LIEU TRONG QUÁ KHU , HIỆN TẠI ,TUONG LAI CUA
FACEBOOK 011 —. -4 25
HÌNH 3: VẬN TOC MA DU LIEU ĐƯỢC TẠO RA L5 222222 112E212121211E te 26
HÌNH 4: MÔ TẢ SỰ KHONG RO RÀNG CUA DU LIỆU 5552 S2S2££t£t£tztsvererereree 27
HÌNH 5 : MÔ TẢ HỆ SINH THÁI HADOOP - 6S: 22223322 S123 2121 2E 2E E211 xe krrree 30
HÌNH 6 : MÔ HÌNH LƯU TRU DU LIEU CUA HADOOP -¿-25 ¿5222222252 <z£+xsxzesesece2 32
HÌNH 7: MÔ TẢ CÁCH PHAN TAN DU LIEU TREN HDEFS ¿25c 225222522 s+s+xs+2 34
HÌNH 8: MAP REDUCE TRONG HADOOP 5 2222222232121 239121511212121111111211111 xe xe 36
HÌNH 9: KIEN TRÚC CUA HADOOP VỚI YARN 5: :S 22211 1 1211212 He 37 HÌNH 10: MÔ HÌNH VE CO CHE QUAN LY CUA YARN - ¿S2 22223222 2x2 xsErerrrersee 38
HÌNH 11: MÔ HÌNH KIÊN TRÚC CUA ZOOKEEPER - 2-52 2+*2E2EEEvEvEEEEErteterererereree 39
HÌNH 12: MÔ HÌNH KIÊN TRÚC CUA KAEKA ¿- ¿ ¿5222222 +3+E+E£EEEEEEEEEEEEEErteterererereree 40
HÌNH 13: BEN TRONG 1 KAFKA CLUSTER 2222222 2E2E+E+ESEEEEEEEEEEEErteteteterererrre 40
HINH 14: MÔ HÌNH KIÊN TRÚC CUA APACHE SPARK 52552522 2t2tztevererereree 42
HINH 15: MÔ HÌNH KIÊN TRÚC CUA APACHE SPARK 5255222 £t£tztzvevererereree 44
HÌNH 16: CÁC BƯỚC CHẠY CUA THUẬT TOÁN ISGD - 552525252 ‡t££ztztztevsversrsrsree 49
HÌNH 17: CUSTOMER ACQUISITION AND RETENTION 525252522 2tzt+vsxsrsrsrexee 53
HÌNH 18: PHAN LOẠI KHÁCH HÀNG - 5 523222222 232E2E2E2E2E211222111212111212121 1tr, 54
HÌNH 19:ÁP DUNG HỆ SINH THÁI HADOOP VÀO MÔ HÌNH KIÊN TRÚC LAMBDA 60
HÌNH 20: MÔ HÌNH KIÊN TRÚC CUA HỆ KHUYEN NGHỊ ¿5:55:22 2tstsvsversrereree 62
HÌNH 21: MO HÌNH HỆ THONG KHUYEN NGHỊ CUA STEAM ¿-:5:+c+c+c+xsvsxsxsse2 65 HÌNH 22: SAN PHAM KHI SỬ DỤNG HE THONG KHUYEN NGHỊ CUA SHOPEE 66 HÌNH 23: MÔ HÌNH HE THONG KHUYEN NGHỊ CUA YOUTUBE ¿252552222252 5+2 67 HÌNH 24: MÔ HÌNH HE THONG KHUYEN NGHỊ CUA NETFLIX -. ¿- 55222 2c+x+xscsxsse2 69 HÌNH 25: CAC SAN PHAM ĐƯỢC KHUYEN NGHỊ TỪ AMAZON -.-cccccc2cccscscscee 70
HÌNH 26: USECASE CUA HE THONG 22:3 22212123 1E1151212121 21111171111 1111 1e 71
HÌNH 27: PRODUCT BACKLOG CUA DATALLAKE - 252233 22222222 *EE£ESEEEEEErrerererrrrrree 72
Trang 13USER STORY CUA DATALAKE 01 Aal 73
PRODUCT BACKLOG CUA RECOMMENDER SYSTEM 5 2c ccccccsccce2 85 USER STORY CUA RECOMMENDER SYSTEM ::::ccccssssesesesesesesessesesesesesesenees 86 MAN HÌNH CHÍNH QUAN LY DATA LLAKE 25252525 *2E2E2E22££cxexsrerrrrvses 101
MAN HÌNH TRUY XUẤT THONG TIN CUA DATA LAKE -.- 5-5555 +*s5+2 103
MAN HÌNH XEM THONG TIN CUA DATA LAKE 5-2525: 52S2*+x+xsxzsse2 104 MAN HÌNH CHÍNH CUA RECOMMENDER SYSTEM -: 5252522222222 s52 105 MAN HÌNH TÌM KIEM CUA RECOMMENDER SYSTEM - 75c ccSc S2 107 MAN HÌNH GOI Ý SAN PHAM CUA RECOMMENDER SYSTEM 108 MAN HÌNH GOI Y SAN PHAM TƯƠNG TU CUA RECOMMENDER SYSTEM 110
MÔ HÌNH KIEN TRÚC CUA DATALAKE cccccsssccsssssssssscssseescssescstsacscsscscseeseseeas 111
MO TẢ CAU TRÚC LAMBDA 2 cccccccccccecsssesceeseseseseseseeeesesesssesesecsesessseseessesesessies 112 GIAO DIEN CUA DREMIO c.ccccccccccscsscsssesessesscseseessseecsesecsesecsesessesecsssesscseeeeseeseass 120 ANH XA DU LIEU LEN DREMIO 0 ccccccccccscccsseessssesecsesecsesececseacsesacsesacseseeseseeas 128 ANH XA DU LIEU LEN DREMIO THEO ĐỊNH DANG COLUMNAR 129
MÔ HÌNH KIÊN TRÚC CUA RECOMMENDER SYSTEM ¿2 5525222 131 GỢI Ý SAN PHAM THEO COLLABORATIVE FILTERING 25:55: 142 GỢI Ý SAN PHAM THEO CONTENT-BASED FILTERING - 2-5555: 142
MÔ HÌNH KIÊN TRÚC CUA TOÀN BỘ HE THÓNG 5-5: Sc2cscszvscsrre2 143
Trang II
Trang 14DANH MỤC TỪ VIẾT TÁT
STT | Từ viết tắt Y nghĩa
1 ETL Extract, Transform, Load
2 ACID atomicity, consistency, isolation, durability
3 CAP consistency, availability, partition
4 RDSMS Relational Database Management System
5 SQL Structured Query Language
6 NoSQL Non SQL
7 KSQL Kafka SQL
8 CDP Customer Data Platforms
9 SCV Single Customer View / Singular Customer View
Trang 12
Trang 15TÓM TÁT ĐÈ TÀI
- Tổng quan đề tài: đặt van dé, lý do chọn đề tài, mục tiêu và phạm vi tiếp cận dé tài
- Tìm hiểu thực trang, thị trường, khả năng phát triển
- Nghiên cứu các công nghệ, cau trúc, cơ chế hoạt động của Hệ thống đữ liệu lớn.
- Tìm hiểu các cách dé xây dựng hệ thống dit liệu lớn tại chỗ.
- Xây dựng hệ thống dữ liệu lớn.
- Phát triển hệ thống dữ liệu lớn dựa trên các yêu cầu của hệ thống máy học.
- Thiết kế hệ thống gợi ý dựa trên hành vi của người dùng.
- Trình bày kết luận và hướng phát triển trong ngành.
Trang 13
Trang 16MỞ ĐẦU
Lý do chọn đề tài:
Gần đây, chúng ta đã và đang chứng kiến những tiến bộ to lớn trong quy mô cua dit
liệu mà chúng ta thường xuyên tạo ra và thu thập trong hầu hết mọi thứ chúng ta
làm, cũng như khả năng khai thác các công nghệ hiện đại dé xử lý, phân tích và
hiểu dữ liệu này Giao điểm của những xu hướng này, ngày nay, được gọi là Khoa
học Dữ liệu lớn Khoa học Dữ liệu lớn yêu cầu kiến trúc có thể mở rộng dé lưu trữ
và xử lý dữ liệu Và chúng ta cần một giải pháp thiết thực và hiệu quả về chỉ phí để
hỗ trợ lưu trữ, xử lý Dữ liệu lớn và cho các ứng dụng phân tích tinh vi
Tui em phân tích chi tiết các khối kiến trúc của một hệ thống phân tích Dữ liệu lớn
dé hỗ trợ Khoa học Dữ liệu lớn như một dịch vụ cho các nhà khoa học đữ liệu.
Ngoài ra, tụi em phân tích và phân loại các mô hình và dịch vụ đã có về phân tích
đữ liệu lớn, dựa trên các mô hình dịch vụ được hồ trợ của họ.
Sự phát triển và tích hợp liên tục của lưu trữ dữ liệu, tính toán, thiết bị kỹ thuật SỐ
và mạng đã tạo ra một môi trường phong phú cho sự phát triển bùng né của Dữ liệu
lớn cũng như các công cụ mà qua đó đữ liệu được tạo ra, chia sẻ, và phân tích.
Ngoài 4V (Volume, Velocity, Variety and Veracity) (Dung lượng, Vận tốc, Độ đa
dang và Độ chính xác), điều quan trọng là phải xem xét một tính năng b6 sung của
Dữ liệu lớn là Gia trị (Value) Gia trị thu được bằng cách phân tích Dữ liệu lớn và
trích xuất từ chúng các mô hình, xu hướng và mô hình kiến thức ấn bằng cách sử
dụng các thuật toán và kỹ thuật phân tích dữ liệu thông minh Phương pháp khoa
học đữ liệu phải có khả năng phân tích Dữ liệu lớn và trích xuất các tính năng mà
chúng ta không biết Những tính năng đã học này giúp chúng ta cải thiện giá trị của
dữ liệu sẽ giúp hiểu rõ hơn về hiện tượng và hành vi, tối ưu hóa các quy trình và cải
thiện máy móc, kinh doanh và khám phá khoa học.
Trong thực tẾ, các công cụ phân tích dữ liệu lớn cho phép các nhà khoa học dữ liệu
Trang 14
Trang 17khám phá các mối tương quan thông qua việc phân tích lượng dữ liệu không 16 từ
nhiều nguồn khác nhau thuộc các loại khác nhau.
Trong vài năm qua, chúng ta đã chứng kiến sự xuất hiện lớn của Khoa học đữ liệu
lớn trong các ứng dụng thực tế khác nhau như tối ưu hóa kinh doanh, giao dich tài
chính, phân tích dữ liệu chăm sóc sức khỏe và phân tích mạng xã hội
Một báo cáo toàn cầu của McKinsey đã mô tả Dữ liệu lớn là Dữ liệu dữ liệu có quy
mô, phân phối, tính da dang và / hoặc tính kip thời yêu cầu sử dụng các kiến trúc và
phân tích kỹ thuật mới dé cho phép hiểu biết mở khóa các nguồn giá trị kinh doanh mới Tuy nhiên, gan đây chúng tôi đã chứng kiến một làn sóng nên tảng xử lý Big
Data mới dành riêng cho các ngành cụ thể như xử lý đữ liệu SQL có cấu trúc (ví dụ: Hive, Impala, Presto), xử lý đồ thị quy mô lớn (ví dụ: Neo4j, Giraph, Graphlab,
GraphX), dữ liệu xử lý luồng quy mô lớn (ví dụ: Storm, Heron, Flink, Samza,
Kafka) và học máy và phân tích dữ liệu (Pig, Mahout, Spark MLib, Azure ML).
Các kỹ thuật và công nghệ của Khoa học đữ liệu lớn đã có thé thâm nhập vào tất cả
các khía cạnh của lĩnh vực kinh doanh và nghiên cứu Từ doanh nghiệp kinh doanh
hiện đại đến lựa chọn lối sống của công dân kỹ thuật số ngày nay, những hiểu biết
về phân tích Dữ liệu lớn đang thúc day những thay đổi và cải tiễn trong mọi lĩnh
vực Tụi em tóm tắt những đóng góp chính của nội dung này như sau:
- Tui em phân tích các tính năng chính va các khối xây dựng của các hệ thống
phần mềm dé hỗ trợ khoa học Dữ liệu lớn và hệ hỗ trợ quyết định như một phần
mềm cho các nhà khoa học dữ liệu và người dùng phô thông.
- Tui em xác định một tập hợp các yêu cầu chính dé đạt được hiệu quả tầm
nhìn về việc cung cấp phân tích Dữ liệu lớn dưới dạng dịch vụ.
- Tui em phân tích và đánh giá ưu nhược điểm các khung và kiến trúc phan
mềm cần thiết dé tìm kiếm và lựa chọn kiến trúc phù hợp cho hệ thống.
- Tui em thuc hién cac giai phap thuc té vé viéc xay dung Hé thong đữ liệu lớn
dé hỗ trợ trong việc phân tích và xử ly dit liệu.
Trang 15
Trang 18- Tui em thực hiện các giải pháp thực tế về việc áp dụng Hệ thong dir liệu lớn
kết hợp với Hệ thống máy học trong bài toán Hệ thống gợi ý.
- Tui em tìm hiểu về hệ thống khuyến nghị các khái niệm và thuật toán của
một hệ thống khuyến nghị.
- Tui em phân tích các tính năng chính va các khối xây dựng của các hệ thống phần mềm đề xây dựng hệ thống khuyến nghị
- Tui em xác định một tập hợp các yêu cầu chính đề đạt được hiệu quả và có
tính khoa học và tính thực tế cao trong hệ thống khuyến nghị.
- Tui em phân tích va đánh giá ưu nhược điểm các thuật toán và các phương
thức tiếp cận với hệ thống khuyến nghị để tìm kiếm ra giải pháp phù hợp nhất cho
hệ thống của tui em.
- Tui em thực hiện các giải pháp thực tế về việc xây dựng một Hệ thống
khuyến nghị kết hợp với Hệ thống dữ liệu lớn đã xây dựng được.
Trang l6
Trang 19CHƯƠNG 1
1.1
TONG QUAN DE TAI
Muc tiéu va pham vi
1.1.1 Mục tiêu
Tìm hiểu các ưu điểm, nhược điểm của các hệ thong dữ liệu
lớn hiện tại.
Nghiên cứu các công cụ hỗ trợ làm data warehouse, data
processing, ETL, data lake hiện tại có trên thị trường.
Thiết kế hệ thống đữ liệu lớn phù hợp với yêu cầu phục vụ
hệ thống máy học.
Xây dựng hệ thống dữ liệu lớn phù hợp.
Tìm hiểu các ưu điểm, nhược điểm của các hệ thong khuyén nghi (Recommender System).
Nghiên cứu các phương phap,giai thuật và các công thức
toán học phù hợp nhất cho hệ thống khuyến nghị.
Xây dựng hệ thong khuyến nghị phù hợp với hệ thống dữ
liệu lớn.
1.1.2 Phạm vỉ
Các hệ thống dữ liệu lớn dam mây (cloud), các hệ thống dữ liệu lớn tại
cho (on-premise) của các công ty vừa và nhỏ, các nên tảng mã nguôn
mỡ hỗ trợ dit liệu lớn
Các hệ thống khuyến nghị, các phương pháp dé tiếp cận và thử
nghiệm với các hệ thông dữ liệu lớn
Tổng quan lại thì phạm vi của đề tài là xây dựng 1 hệ thống Data Lake và 1 hệ thống khuyến nghị (Recommender System) với ý nghĩa khoa học là tìm hiểu về lãnh vực dit liệu lớn và trí thông minh nhân
Trang 17
Trang 20tạo dé có cái nhìn tổng quan và thực tiễn về 2 lãnh vực nêu trên và
hiểu những cách thức và hướng tiếp cận với dữ liệu lớn và học máy thông qua việc xây dựng đề tài
Đồng thời với việc nâng cao trải nghiệm của khách hàng trong ngành bán lẻ là một nhu cầu có tính ứng dụng và cấp thiết cao vì mục đích của việc này là dé nâng cao trải nghiệm người dùng (User
Experience), tăng cường sự tiện lợi cho khách hàng với mục đích cuối
cùng là dé tăng hiệu suất va chất lượng dich vụ cho những doanh
nghiệp trong ngành bán lẻ
Nội dung thực hiện
Mục tiêu của dé tài “Xây dựng DataLake hỗ trợ gợi ý tập khách hàng
trong ngành bán lẻ”:
- Tìm hiểu về Dữ liệu lớn, các khái niệm chuyên ngành
- Tìm hiểu về Hệ thống dữ liệu lớn, các dịch vụ thương mại
Trang 21và công thức phù hợp dé áp dụng cho hệ thống khuyến nghị Phân tích thiết kế hệ thống dữ liệu lớn phù hợp
Phân tích thiết kế hệ thống khuyến nghị phù hợp
Nghiên cứu các phương pháp tiếp cận hệ thống khuyến
nghị phủ hợp
Xây dựng Hệ thống khuyến nghị
So sánh với các hệ thống khuyến nghị và hệ thống dữ liệu
lớn hiện đã có trên thị trường dé có thé tìm hiểu , đối chiếu
đê rút ra kết luận vê ưu nhược điêm của hệ thông
Trang 19
Trang 22CHƯƠNG 2 DỮ LIỆU LỚN LÀ GÌ, CÁC KHÁI NIỆM CHUYÊN
NGÀNH CÀN LÀM RÕ
2.2
2.1 Khảo sát thực trạng
Hiện tại với sự phát triển vũ bão của khoa học và công nghệ thì thông tin
về khách hàng được thu thập với khối lượng và tốc độ chóng mặt và điều
đó gây nên các vấn dé và nhu cầu về việc lưu trữ lượng lớn dit liệu này
và điều này dẫn đến sự khai sinh của ngành dữ liệu lớn, vậy chúng ta có
thé tự hỏi những câu hỏi như sau:
- Dt liệu lớn là gì?
- Nó chỉ có nghĩa là khối lượng đữ liệu không lồ hoặc có cái gì
khác cho nó?
- _ Liệu dữ liệu lớn có bat kỳ đặc điểm nào và đây là những gi?
Trong chương này, tụi em sẽ đi qua từng câu hỏi một dé giải thích va làm
rõ các khái niệm sau Chủ yếu, tụi em sẽ đề cập đến các chủ đề sau:
- Dir liệu lớn.
- Các đặc điểm của dữ liệu lớn
- _ Các cân nhắc thiết kế khác nhau cho các giải pháp đữ liệu lớn
- _ Thuật ngữ chính được sử dụng trong thế giới dit liệu lớn
Dữ liệu lớn là gì?
Nếu chúng ta có một định nghĩa đơn giản hơn, về cơ bản nó có thê đượccoi là một khối lượng dit liệu không 16 không thé lưu trữ và xử lý bangcách sử dụng phương pháp truyền thống Vì đữ liệu này có thể chứa
thông tin có giá trị, nó cần được xử lý trong một khoảng thời gian ngắn
Thông tin có giá tri này có thê được sử dụng để thực hiện các phân tích
dự đoán, cũng như cho tiếp thị và nhiều mục đích khác Nếu chúng ta sử
Trang 20
Trang 23dụng phương pháp truyền thống, chúng ta sẽ không thé hoàn thành nhiệm
vụ này trong khung thời gian nhất định, vì khả năng lưu trữ và xử lý sẽ
không đủ cho các loại nhiệm vụ nay.
Đó là một định nghĩa đơn giản hơn dé hiểu khái niệm đữ liệu lớn Phiên
bản chính xác hơn như sau:
"Dit liệu lớn dùng dé chi tập dữ liệu với kích thước vượt quá khả năng lưu trữ, quản lý và phân tích của phan mém cơ sở dữ liệu thông
thường "
Từ các mẫu lưu lượng truy cập và tải nhạc, đến lịch sử web và hồ sơ y tế,
dữ liệu được ghi lại, lưu trữ và phân tích dé cho phép công nghệ và dịch
vụ tạo ra sản phẩm có ý nghĩa mà thé giới dựa vào mỗi ngày Nếu chúngtôi chỉ giữ đữ liệu mà không xử lý dữ liệu hoặc nếu chúng tôi không lưutrữ dữ liệu, coi đó là không có giá trị, điều này có thể gây bắt lợi cho
công ty.
Bạn đã bao giờ thay Amazon đang gợi ý cho bạn những sản pham mà
bạn quan tâm nhiều nhất chưa? Hay là Shopee biết rõ bạn đang quan tâm
đến những thể loại sản phẩm và dịch vụ nào? Các công ty này họ đã và
đang thu thập tất cả các hoạt động bạn làm trên ứng dụng của họ và sử
dụng chúng cho trải nghiệm người dùng tốt hơn, cũng như vì lợi ích của
họ, dé tạo doanh thu.Ta có thể nhận ra điều này khi sử dụng các ứng
dụng phô biến thường ngày như Facebook, Shopee, Amazon Điều này
đặt ra một thách thức cho chúng ta: đưa ra các giải pháp mạnh mẽ và hiệu
quả hơn có thê dap ứng các thách thức va yêu câu mới.
Bây giờ, khi chúng ta có một số hiểu biết về dữ liệu lớn là gì, chúng ta sẽ
Trang 21
Trang 24tiễn lên phía trước vả thảo luận về các đặc điểm khác nhau của nó
Đặc điểm của dữ liệu lớn
Dữ liệu lớn có 6 đặc điểm như sau:
- Volume: Là sự tăng trưởng về mặt khối lượng Dữ liệu trong các hệthống thông tin luôn luôn và không ngừng tăng về kích thước
- Velocity: Là sự tăng trưởng về mặt tốc độ
- Variety: Là sự tăng trưởng về tinh đa dạng của dit liệu Bao gồm cả
dữ liệu có câu trúc và phi cấu trúc
- Variability: Là tính biến thiên của dữ liệu phản ánh tính không nhấtquán của đữ liệu Tính biến thiên cũng được thẻ hiện qua kích thước và
Trang 22
Trang 25tốc độ đữ liệu được sinh ra
- Value: Giá trị thông tin trong hệ thống
- Veracity: Là tính xác thực của dữ liệu
Trang 26Các kích thước bộ nhớ máy tính khác nhau được liệt kê trong bảng sau dé
cho bạn ý tưởng về các chuyên đổi giữa các don vị khác nhau Nó sẽ cho
bạn hiểu kích thước của dit liệu trong các vi dụ sắp tới trong chương này:
Memory Capacity Conversion Chart
Trong những năm trước, dữ liệu của công ty chỉ đề cập đến dữ liệu được
tạo bởi nhân viên của họ Bây giờ, khi việc sử dụng công nghệ tăng lên,
nó không chỉ là dữ liệu được tạo bởi nhân viên mà còn là dữ liệu được
tạo ra bởi các máy được sử dụng bởi các công ty và khách hàng của họ.
Ngoài ra, với sự phát triển của phương tiện truyền thông xã hội và các tài
nguyên internet khác, mọi người đang đăng và tải lên rất nhiều nội dung,
video, hình ảnh, tweet, v.v
Khi chúng ta nói về khối lượng trong bối cảnh dé liệu lớn, đó là mộtlượng dữ liệu khổng lồ đối với hệ thống xử lý không thể được thu thập,
lưu trữ và xử lý băng các phương pháp truyền thông Đó là đữ liệu còn lại
đã được thu thập vả truyền dữ liệu liên tục được tạo.
Lấy ví dụ về Facebook Như chúng ta có thê thấy trong hình 2, số lượng
Trang 24
Trang 27người dùng hang tháng của Facebook trong năm 2019 tăng chóng mặt vàkhi số lượng người dùng tăng nhanh vậy thì cũng đồng nghĩa với việc dữliệu về các hoạt động của người dùng tăng liên tục thông qua các hành vicủa người dùng như đăng tải một tam anh đại diện, bình luận trên một
Hình 2: Tăng trưởng trong qua khứ, hiện tại,tương lai của Facebook
Trang 28liệu tăng nhanh như thế nào:
- _ Mỗi phút có 168 triệu email được gửi đi
- Có trên 98.000 dong tweet mới trên Twitter
- Trên 698.000 kết qua tim kiếm mới trên Google
Every 60 seconds
WD 98,000+ tweets
- Ei 695,000 status updates
c===>
BH 217 new mobile web users
MB 11million instant messages
không có bất kỳ đặc điểm nào trong số này Chúng bao gồm một danh
sách dài các dữ liệu, chăng hạn như tai liệu, email, tin nhắn văn ban
phương tiện truyền thông xã hội, video, hình ảnh tĩnh, âm thanh, đồ thị, đầu ra từ tất cả các loại dữ liệu do máy tạo từ cảm biến, thiết bị, tín hiệu
GPS điện thoại di động, và nhiều hơn nữa
Trang 26
Trang 292.3.4 Độ chính xác
Khi dữ liệu được sản sinh ra càng lớn, sự đa dạng của dữ liệu ngày cảng
phong phú thì độ chính xác của dữ liệu sẽ bi giảm, vi trong qua trình thu
thập dữ liệu sẽ có những vấn đề phát sinh và điều đó làm ảnh hưởng đến
độ chính xác của đỡ liệu
Và vì điều đó cũng nói lên chất lượng của dit liệu Chúng ta cần lay dữ
liệu từ các nguôn đã được kiêm chứng và có rõ ràng nguôn gôc
Hình 4: Mô tả sự không rõ ràng của đữ liệu
2.3.5 Giải pháp dữ liệu lớn - cơ sở hạ tầng đám mây so với tại chỗ
Ké từ khi mọi người bắt đầu nhận ra sức mạnh của đữ liệu, các nhànghiên cứu đã làm việc dé sử dụng nó dé trích xuất thông tin có ý nghĩa
và xác định các mẫu khác nhau Với những cải tiến công nghệ dữ liệulớn, ngày càng có nhiều công ty bắt đầu sử dụng dữ liệu lớn và nhiềungười hiện đang trên đà sử dụng các giải pháp dữ liệu lớn Có nhiều cách
Trang 27
Trang 30cơ sở hạ tang khác nhau dé triển khai một thiết lập dữ liệu lớn Cho đến
một thời gian trước, lựa chọn duy nhất cho các công ty là thiết lập thiết
lập trên trang web Nhưng bây giờ họ có một tùy chọn khác: thiết lập
đám mây Nhiều công ty lớn, như Microsoft, Google và Amazon, hiện
đang cung cấp một lượng lớn dịch vụ dựa trên yêu cầu của công ty Nó
có thé dựa trên cau hình phần cứng của máy chủ và có thé dé sử dụng
năng lượng tính toán hoặc chỉ là không gian lưu trữ.
Yêu cầu của mỗi công ty là khác nhau; họ có những cách tiếp cận khác
nhau cho những vấn đề khác nhau Họ phân tích và khả thi trước khi áp
dụng bat ky thay đổi lớn nào, đặc biệt là trong bộ phận công nghệ
Trang 28
Trang 31CHƯƠNG 3 HỆ SINH THÁI HADOOP
Trong chương này, chúng ta sẽ xem xét chỉ tiết Dự án Hadoop của Apache, nêu ra
những lý do tại sao nó được phát triển và những lợi thế và bất lợi của việc sử dụng
Hadoop là gì Tụi em cũng sẽ đi qua các thành phần và mô-đun (module) khác nhau
của hệ thống Hadoop Các chủ đề chính mà tụi em sẽ đề cập trong chương này như sau:
— Hadoop Apache
— HDFS
— Khung MapReduce
— YARN
Sau đó, tụi em sẽ xem xét các Dự án Apache khác có liên quan trực tiếp hoặc gián tiếp
đến thế giới đữ liệu lớn phù hợp với Hệ sinh thái Hadoop Một số dự án mà tụi em sẽ
thảo luận bao gồm:
toán, và chủ yêu được xây dựng trên phần cứng hàng hóa chỉ phí thấp Một
bài nghiên cứu khác của Google MapReduce đã xem xét xử ly dữ liệu đơn
giản hóa trong các cụm lớn.
Apache Nutch là một dự án trình thu thập dữ liệu web nguồn mở có khả
năng mở rộng và có khả năng mở rộng cao, đã triên khai cơ sở MapReduce
Trang 29
Trang 32và hệ thống tệp phân tán dựa trên tài liệu nghiên cứu của Google Các cơ sở
này sau đó đã được công bồ là một tiểu dự án có tên Apache Hadoop.
Apache Hadoop được thiết kế dé dé dàng mở rộng quy mô từ vài đến hàng
nghìn may chủ Nó giúp ban xử ly dữ liệu được lưu trữ cục bộ trong một
thiết lập xử ly song song tông thé Một trong những lợi ích của Hadoop là
nó xử lý thất bại ở cấp độ phần mềm Hình dưới đây minh họa kiến trúc
tổng thể của Hệ sinh thái Hadoop và nơi có các khung khác nhau trong đó
Hadoop Ecosystem
Processing Frameworks
Cluster Mar ment Frameworks
File System
input Data Stream Frameworks
Hinh 5 : M6 ta hé sinh thai Hadoop
Trong Hệ sinh thái Hadoop, Apache Hadoop cung cấp khung cho lớp hệ
thống tệp, lớp quản lý cụm và lớp xử lý Nó dé lại một tùy chọn cho các dự
án và khung khác đến và hoạt động cùng với Hệ sinh thái Hadoop và phát
triển khung riêng cho bat kỳ lớp nao có sẵn trong hệ thống Chúng tôi sẽ
thảo luận về các Dự án Apache khác phù hợp với các lớp còn lại sau này
Apache Hadoop bao gồm bốn mô-đun chính Các mô-đun này là Hệ thống
tệp phân tan Hadoop — Hadoop Distributed File System (HDFS), Hadoop
Trang 30
Trang 33MapReduce (hoạt động với cả quản lý cụm và lớp xử lý), Yet Another
Resource Negotiator (YARN, lớp quản ly cụm) và Hadoop Common Tui
em sé thảo luận lần lượt những điều nay
Hệ thống tệp phân tan Hadoop (HDFS)
Trong Hệ sinh thái Hadoop, Apache Hadoop cung cấp khung cho lớp hệthống tệp, lớp quan lý cụm và lớp xử lý Nó dé lại một tùy chọn cho các dự
án và khung khác đến và hoạt động cùng với Hệ sinh thái Hadoop và pháttriển khung riêng cho bắt kỳ lớp nào có sẵn trong hệ thống Tụi em sẽ thảo
luận vê các Dự án Apache khác phù hợp với các lớp còn lại sau nảy.
Hệ thống tệp phân tán Hadoop (HDFS) là một hệ thống tệp, như tên trạng
thái, tương tự như Windows (FAT hoặc NTFS) và Linux (swap, ext3, v.v.)
được thiết kế riêng cho các hệ thống phân tán cần xử lý bộ đữ liệu lớn vớitính sẵn sàng cao Nó được tối ưu hóa dé làm việc với nhiều nút và truyền
dữ liệu trên chúng trong một môi trường điện toán phân cụm đề đảm bảotính khả dụng của dữ liệu tối đa Sự khác biệt chính giữa HDFS và các hệthống tệp phân tán khác là nó được thiết kế dé chạy trong thiết lập phần
cứng chi phí thấp và có khả năng chịu lỗi cao Kiến trúc cơ bản của HDFS
được hiền thị trong sơ đồ sau:
Trang 31
Trang 34Name Node
HDFS có hai thành phần chính về cơ bản hoạt động bằng cách sử dụng kháiniệm chủ và nô lệ Hai thành phần này được gọi là NameNode, là nút chính
và DataNode, là slave node.
NameNode là chìa khóa cho toàn bộ hệ thống tệp Nó chịu trách nhiệm
truyền bá dit liệu trên các nút dữ liệu khác nhau dựa trên cau hình được xác
định Nó chứa và quản lý metadata (siêu dữ liệu) của các khối dit liệu có sẵn
trên các nút đữ liệu khác nhau Bạn có thể nghĩ, 'metadata là gì? Metadata là
thông tin liên quan đến các tệp được lưu trữ trong một hệ thống, ví dụ: tên
của tệp, kích thước của tệp, vào bao nhiêu khối tệp được chia, trong đó các
khối được lưu trữ trong DataNodes, v.v.
Bây giờ hãy xem xét những gì có thé xảy ra nếu chúng ta mat thông tin
metadata này Chúng ta vẫn có thê truy xuất tất cả thông tin và tệp được lưu
trữ trong DataNodes chứ? Câu trả lời là không Điều này là do chúng ta
không biết khối dữ liệu nào thuộc về tệp nào và thậm chí chúng ta không
Trang 32
Trang 35biết có bao nhiêu khối dữ liệu cho một tệp Không có thông tin metadata
này, toàn bộ hệ thống HDFS sẽ sụp dé; đó là lý do tại sao NameNode đượccoi là một điểm thất bại duy nhất (SPOF-single point of failure)
Dé khắc phục van dé này, tui em sử dung phan cứng máy chủ đáng tin cậy
dé hoạt động như một NameNode Nếu chúng em dựa vào phan cứng thông
thường cho NameNode, khả năng thất bại sẽ tăng lên Chúng en sử dụng
phần cứng thông thường trong DataNode vì chúng em đang sao chép đữ liệu
trong ba hoặc nhiều nút đữ liệu, vì vậy nếu bất kỳ nút dữ liệu nào bị lỗi, tụi
em vẫn có thể trích xuất thông tin từ một nút dữ liệu khác và điều này chứng
minh cho khả năng chịu lỗi của Hadoop (Fault Tolerant) Tuy nhiên, trong
trường hợp NameNode, thông tin không được sao chép ở bắt kỳ đâu; nếu có
lỗi, toàn bộ hệ thống sẽ sụp đô
Có một số điểm cau hình mà tụi em phải quan tâm khi thiết lập HDFS,
chăng hạn như số lần đữ liệu phải được sao chép, xác định kích thước khốicủa dữ liệu, v.v Kích thước khối mặc định trong HDFS là 64 MB Điều này
có thé được đặt thành các kích thước khác nhau, chăng hạn như 128 MB,
256 MB, v.v Thông thường, trong các hệ thống tệp khác, kích thước khối
dữ liệu tương đối thấp -4 KB hoặc 8 KB - nhưng HDFS được thiết kế dé xử
lý các bộ dữ liệu lớn Nếu tụi em giảm kích thước của khối dữ liệu xuống
một vài KB hoặc MB, thông tin metadata sẽ tăng lên, điều này sẽ làm tăng
tải trên NameNode trong khi truy xuất thông tin tệp Nó cũng sẽ tăng chi
phí Nói cách khác, khi chúng ta cần thực hiện một công việc hoặc một
chương trình, thì càng cần nhiều dữ liệu, hoạt động mạng và xử lý
DataNode chịu trách nhiệm cho một đoạn dữ liệu lớn thường được gọi là
khối đữ liệu Quản lý lưu trữ cục bộ được gán bởi NameNode Cấu hình
mặc định của HDFS sao chép mỗi khối dữ liệu thành ba nút đữ liệu khác
Trang 33
Trang 36nhau, một nút trên cùng và một giá máy chủ và hai bản sao trong một giá
khác nhau Điều này giúp với tính khả dụng, do đó ngay cả khi một bản saocủa dữ liệu gặp sự cố, hai bản sao khác sẽ có sẵn Mặc dù HDFS có cơ chế
chống lỗi tích hợp, nhưng nó sẽ không thể thấy trước các lỗi của con ngườinhư sao chép hoặc xóa dữ liệu Dé phòng ngừa, có thé cần sao lưu bồ sung
tại một địa điểm khác
Thông tin của metadata được sử dụng đề lưu trữ thông tin về một tệp dé dé
dàng truy xuất và xử ly Hình minh hoa sau miêu ta dữ liệu được lưu trữ
trong các DataNodes khác nhau :
Trong hình trước, hai tệp, log1.txt và log2.txt, được lưu trữ trong HDFS Ca
hai đều là 100 MB Bây giờ, vì kích thước khối mặc định trong HDFS là 64
MB, các tệp này sẽ được chia thành hai phần và theo cấu hình mặc định,
Trang 34
Trang 37mỗi khối dữ liệu sẽ được sao chép thành ba nút dữ liệu NameNode sẽ gan
ID khối cho từng khối dữ liệu Thông tin metadata này sẽ được lưu trữ trongNameNode và khối dữ liệu thực tế sẽ được chuyền tiếp đến DataNodes chomục đích lưu trữ Điều quan trọng khác cần lưu ý ở đây là HDFS lưu trữ ít
nhất một bản sao của khối dữ liệu ở một vị trí khác nhau; điều nay có thé ở
các cơ sở hoàn toàn khác nhau hoặc chỉ trong một giá mạng khác.
Ngoài quan ly metadata, NameNode cũng chịu trách nhiệm báo cáo sức
khỏe cho mỗi DataNode Điều này được thực hiện bằng cách sử dụng một
nhịp tim (heartbeat) DataNode gửi nhịp tim theo chu kỳ đều đặn dé thông
báo cho NameNode rằng nó còn sông Thời gian khoảng thời gian mặc định
là 3 giây Nếu bat kỳ nút di liệu nào không gửi được nhịp tim, NameNode
sẽ đợi tối đa 10 nhịp tim bị bỏ lỡ, 30 giây trước khi hành động NameNode
sau đó sẽ tạo một cảnh báo đề thay thế và đánh dấu DataNode đó là đã chếtcho đến khi nó được thay thế hoặc trả về Nếu bất kỳ truy xuất khối dữ liệu
nao trong tương lai xảy ra liên quan đến một nút chết, NameNode sẽ trỏ nó
đến bản sao có san tiếp theo của khói dữ liệu đó
NameNode cũng tạo điều kiện cho một cơ chế cân bang tai, do dé, néu bat
ky DataNode nao đã được tai nặng, nó sé gan một tac vụ cho DataNode có
sẵn tiếp theo chứa các khối đữ liệu cần thiết Điều nay sẽ giúp xử lý nhanh
hơn một tập dữ liệu lớn và sử dụng thông lượng tối đa của các máy chủ có
san.
Trang 35
Trang 38Hinh 8: Map Reduce trong Hadoop
Khung này chủ yếu bao gồm hai phan: Map va Reduce Quá trình Map chủyếu bao gồm lay thông tin từ dữ liệu được lưu trữ, áp dụng thuật toán cần
thiết và tạo kết quả đưới dang các cap khóa-giá trị (key-value) Quá trình Reduce được sử dung dé tom tat thông tin được thu thập và ghép nối trong
Khi theo dõi công việc giao một công việc cho Trình theo dõi tác vụ, Trình
theo dõi tác vụ chỉ chịu trách nhiệm xử lý tác vụ đó trong tài nguyên máy
của chính nó Một điều đáng nói nữa là trong kịch bản này, tất cả các máy sẽđược coi là giống nhau và Trình theo dõi tác vụ sẽ thực hiện một tác vụ cho
dù nó có 8GB RAM hoặc 16GB khả dụng.
Đề khắc phục những vấn đề kiến trúc này, Hadoop đã giới thiệu một môhình xử lý mới có tên là YARN (Yet Another Resource Negotiator) dé thay
Trang 36
Trang 39thế mô hình Trình theo dõi công việc và Trình theo dõi công việc Nó cũng
được gọi là Hadoop.
Hình đưới đây minh họa kiến trúc của Hadoop với YARN bao gồm:
MapReduceProcessing Framework
HDFS
Hadoop Distributed File System
Hình 9: kiến trúc của Hadoop với YARN
YARN phân chia chức năng của Trình theo dõi công việc thành các dịch
vụ khác nhau Nó hoạt động với bốn dịch vụ mới sau đây:
Trang 40Hình 10: Mô hình về cơ chế quản lý của YARN
3.5 Các dự án Apache liên quan đến Dữ liệu lớn (Big Data)
Bây giờ tụi em đã phát triển sự hiểu biết về cách chương trình hoạt động va
được thực thi trong môi trường Hadoop, cách phân bồ tài nguyên cho chương trình và cách tiếp cận dữ liệu được lưu trữ của Hadoop Thông tin
này chủ yêu liên quan đến quản lý cụm và xử lý ứng dụng tùy chỉnh, nhưng
có nhiều Dự án mã nguồn mở Apache có liên quan đến xử lý dữ liệu lớn sẽ
giúp xử lý dữ liệu.
3.5.1 Apache Zookeeper
Zookeeper là một Dự án Apache mã nguồn mở cung cấp cơ sở ha tang và
dịch vụ tập trung cho phép đồng bộ hóa trên một cụm Nó chịu tráchnhiệm duy trì đồng bộ hóa giữa các đối tượng khác nhau như các tệp cauhình, không gian tên phân cấp, nhắn tin, thông báo, v.v Khung
Trang 38