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

Khóa luận tốt nghiệp Kỹ thuật phần mềm: Xây dựng DataLake hỗ trợ gợi ý tập khách hàng trong ngành bán lẻ

152 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Xây dựng DataLake hỗ trợ gợi ý tập khách hàng trong ngành bán lẻ
Tác giả Nguyễn Quốc An, Lưu Hoàng Hiệp
Người hướng dẫn PGS.TS Vũ Đức Lung, ThS Đỗ Thị Thanh Tuyền
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành Kỹ thuật phần mềm
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2021
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 152
Dung lượng 71,53 MB

Nội dung

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 1

NGUYÊ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 2

NGUYEN 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 3

THONG 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 4

LỜ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 8

Tì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 9

Xá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 10

CHUONG 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 11

5.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 12

DANH 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 13

USER 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 14

DANH 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 15

TÓ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 16

MỞ ĐẦ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 17

khá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 19

CHƯƠ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 20

tạ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 21

và 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 22

CHƯƠ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 23

dụ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 24

tiễ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 25

tố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 26

Cá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 27

ngườ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 28

liệ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 29

2.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 30

cơ 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 31

CHƯƠ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 32

và 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 33

MapReduce (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 34

Name 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 35

biế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 36

nhau, 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 37

mỗ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 38

Hinh 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 39

thế 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 40

Hì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

Ngày đăng: 02/10/2024, 03:42

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN