Tải bản đầy đủ (.docx) (76 trang)

Khóa luận tốt nghiệp xây dựng datalake hỗ trợ gợi ý tập khách hàng trong ngành bán lẻ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.35 MB, 76 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

NGŨN Q́C AN
LƯU HOÀNG HIỆP

KHĨA LUẬN TỚT NGHIỆP

XÂY DỰNG DATALAKE HỖ TRỢ GỢI Ý TẬP KHÁCH HÀNG
TRONG NGÀNH BÁN LẺ
Build Data Lake to support suggesting customer group
in retail industries

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

TP. HỒ CHÍ MINH ,2021

ĐẠI HỌC Q́C GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THÔNG TIN


KHOA CÔNG NGHỆ PHẦN MỀM

NGUYỄN QUỐC AN -16520012
LƯU HOÀNG HIỆP -16520379

KHĨA LUẬN TỚT NGHIỆP

XÂY DỰNG DATALAKE HỖ TRỢ GỢI Ý TẬP KHÁCH HÀNG
TRONG NGÀNH BÁN LẺ


Build Data Lake to support suggesting customer group
in retail industries

GIẢNG VIÊN HƯỚNG DẪN
VŨ ĐỨC LUNG
ĐỖ THỊ THANH TUYỀN

TP. HỒ CHÍ MINH ,2021

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 kỳ
15 tuần chúng em đã học được rất nhiều kiến thức hữu ích, những giờ đượ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 để 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 ngồ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ì ln 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
q 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
hồn chỉnh và cố gắng hướng tới một kết quả tốt nhất có thể.
Lời cuối cùng vẫn là lời cảm ơn sâu sắc và chân thành nhất đến thầy Lung và cơ
Tuyền đã giúp chúng em có được những kiến thức vững chắc để 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 để áp dụng giải quyết vấn đề thực tế một
cách tốt nhất.
Nhóm thực hiện

ĐHQG TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC

Trang 1
CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc

CƠNG NGHỆ THƠNG TIN

Lập - Tự Do - Hạnh Phúc

ĐỀ CƯƠNG CHI TIẾT


TÊN ĐỀ TÀI TIẾNG VIỆT: Xây dựng DataLake hỗ trợ gợi ý tập khách hàng trong
ngành bán lẻ.
TÊN ĐỀ TÀI TIẾNG 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 đề 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 ch̉n hóa các quy trình ra quyết định
của cơng ty,và dữ liệu sẽ là nền tảng và điể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ự đố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 và nhu cầu của khách hàng.

Trang 2


Đó 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 ích 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 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.
Và sau đó có thể gợi ý các sản phẩm phù hợp cho khách hàng.

Kế hoạch thực hiện:
STT


Công việc

Phase 1: Tìm hiểu các hệ thống DataLake hiện có
trên thị trường và xây dựng hệ thống
1.

Thời gian thực hiện
8 tuần
(1/9/2020-31/10/2020)

Tìm hiểu các định nghĩa về Big Data và
DataLake

Trang 3


1.1

-Big Data là gì?

Tuần 1-2

-Data Lake là gì? Khác biệt so với Data

(1/9/2020-14/9/2020)

Warehouse
-Tìm hiểu Hadoop eco-system,
SMACK, Mongo ELK
-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, khả năng
chịu lỗi

2.

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

Tuần 3-4
(15/9/2020-30/9/2020)

-Xác định điểm mạnh và điểm yếu của kiến
trúc Lambda
3.

Xây dựng DataLake trên mô hình kiến
trúc Lambda và cải tiến
-Deploy Kafka,Hadoop,Zookeeper,

Tuần 5-8

Dremio -Deploy Database PostgreSQL

(1/10/2020-31/10/2020)

-Deploy Confluent để hoàn thiện kiến trúc

Lambda

Phase 2 : Xây dựng hệ thống Recomender system

8 tuần
(2/11/2020-31/12/2020)


Trang 4
4

Tìm hiểu Recommender System

4.1

-Tìm hiểu Recommender System

2 tuần

-Tìm hiểu về Hybrid Recommended,

(2/11/2020-16/11/2020)

Collaborative Filtering,Content Based
Filtering ,Session-Based Filtering
-Tìm hiểu về Memory Based và Model
Based trong Collaborative Filtering
5

Lựa chọn thuật toán


5.1

-Lựa chọn các thuật toán phù hợp cho hệ
thống (cây quyết định,K-Means,K-Nearest
Neighbor)

2 tuần
(17/11/2020-30/11/2020)

-Lựa chọn các công thức đánh giá phù hợp
(Cosine Similarity, Pearson correlation
coefficient, Euclidean Distance,…)
6

Xây dựng Recommender System

6.1

-Xây dựng Recommender System dựa trên
Collaborative Filtering và Content Based
Filtering

4 tuần
(1/12/2020-31/12/2020)

-Xây dựng một giao diện trực quan và đơn
giản cho người dùng phổ thông
Phase 3 :Hoàn thiện và tổng kiểm thử
7.1


-Kiểm thử

3 tuần

-Hoàn thiện sản phẩm

(2/1/2020-21/1/2020)


Trang 5
-Đánh giá

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 6

MỤC LỤC
LỜI CÁM ƠN ..................................................................................................................................................1 ĐỀ
CƯƠNG CHI TIẾT...................................................................................................................................2 MỤC

LỤC

........................................................................................................................................................7

DANH

MỤC HÌNH VẼ...................................................................................................................................9 TĨM TẮT
ĐỀ

TÀI........................................................................................................................................

11

ĐẦU.........................................................................................................................................................

MỞ
12

CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI...................................................................................................... 15
1.1 MỤC TIÊU VÀ PHẠM VI ....................................................................................................................... 15 1.1.1
Mục tiêu ................................................................................................................................... 15 1.1.2 Phạm
vi .................................................................................................................................... 15 1.2 NỘI DUNG THỰC
HIỆN......................................................................................................................... 15
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Õ ....... 17
2.1 KHẢO SÁT THỰC TRẠNG..................................................................................................................... 17 2.2
DỮ LIỆU LỚN LÀ GÌ? ........................................................................................................................... 18 2.3 Đ ẶC
ĐIỂM CỦA DỮ LIỆU LỚN .............................................................................................................. 19
2.3.1 Dung lượng .............................................................................................................................. 22 2.3.2
Vận tốc ..................................................................................................................................... 23 2.3.3 Đa
dạng.................................................................................................................................... 24 2.3.4 Độ chính

xác ............................................................................................................................ 25 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ỗ ................................................ 26
CHƯƠNG 3 HỆ SINH THÁI HADOOP............................................................................................... 28
3.1 APACHE HADOOP ............................................................................................................................... 28 3.2 H Ệ
THỐNG TỆP PHÂN TÁN HADOOP (HDFS)....................................................................................... 30 3.3 H ADOOP
MAPREDUCE........................................................................................................................
35
3.4
YARN................................................................................................................................................ 35 3.5 C ÁC
DỰ ÁN APACHE LIÊN QUAN ĐẾN DỮ LIỆU LỚN (BIG DATA) ........................................................ 37
3.5.1 Apache Zookeeper.................................................................................................................... 37 3.5.2
Apache Kafka........................................................................................................................... 38 3.5.3
Confluent.................................................................................................................................. 40 3.5.4 Apache
Spark ........................................................................................................................... 41
CHƯƠNG 4 HỆ THỚNG KHUYẾN NGHỊ LÀ GÌ, CÁC KHÁI NIỆM VÀ THUẬT TOÁN ĐƯỢC ÁP
DỤNG 45
4.1 HỆ THỐNG KHUYẾN NGHỊ LÀ GÌ ? ....................................................................................................... 45 4.2
CÁC HƯỚNG TIẾP CẬN CHO HỆ THỐNG KHUYẾN NGHỊ ......................................................................... 45 4.3 C ÁC
THUẬT TOÁN SỬ DỤNG TRONG HỆ THỐNG KHUYẾN NGHỊ ............................................................ 46
CHƯƠNG 5 XÂY DỰNG DATA LAKE............................................................................................... 50 5.1
TRÌNH BÀY Ý TƯỞNG.......................................................................................................................... 50 CHƯƠNG 6
HIỆN THỰC HÓA Ý TƯỞNG........................................................................................ 53
6.1 YÊU CẦU PHẦN MỀM .......................................................................................................................... 53 6.2
YÊU CẦU PHẦN CỨNG......................................................................................................................... 53 6.3
HƯỚNG DẪN CHUẨN BỊ MÔI TRƯỜNG LÀM VIỆC.................................................................................. 54
6.3.1 Cài đặt Java ............................................................................................................................. 54 6.3.2
Cài đặt Oracle JDK ................................................................................................................. 55 6.3.3 Cài đặt
Hadoop........................................................................................................................ 55 6.3.4 Cài đặng
KAFKA ..................................................................................................................... 58


Trang 7

6.3.5 Cài đặt dremio ......................................................................................................................... 59 6.3.6


Cài đặt sqoop/postgreesql/hbase ............................................................................................. 61 6.3.7 Xây
dựng DataLake ................................................................................................................. 62
CHƯƠNG 7 XÂY DỰNG RECOMMENDER SYSTEM VÀ TỔNG QUAN CỦA TOÀN BỘ HỆ THỚNG
68
7.1 TRÌNH BÀY Ý TƯỞNG.......................................................................................................................... 68 7.2
HIỆN THỰC HÓA Ý TƯỞNG .................................................................................................................. 71 7.2.1
Phần khai thác dữ liệu ............................................................................................................. 71 7.2.2 Phần hiển
thị UI....................................................................................................................... 79 7.3 MƠ HÌNH KIẾN TRÚC
CỦA TOÀN BỘ HỆ THỐNG ................................................................................... 80
CHƯƠNG 8 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ....................................................................... 81
8.1 KẾT QUẢ ĐẠT ĐƯỢC ........................................................................................................................... 81 8.2
NHẬN XÉT .......................................................................................................................................... 81 8.2.1 Ưu
điểm.................................................................................................................................... 81 8.2.2 Khuyết
điểm ............................................................................................................................. 82 8.3 HƯỚNG PHÁT TRIỂN
........................................................................................................................... 82
CHƯƠNG 9 TÀI LIỆU THAM KHẢO ................................................................................................ 83

Trang 8


DANH MỤC HÌNH VẼ
HÌNH 1: ĐẶC ĐIỂM CỦA DỮ LIỆU LỚN (BIG DATA) ................................................................20
HÌNH 2: TĂNG TRƯỞNG DỮ LIỆU TRONG QUÁ KHỨ , HIỆN TẠI ,TƯƠNG LAI .....................23
HÌNH 3: VẬN TỚC MÀ DỮ LIỆU ĐƯỢC TẠO RA ......................................................................24 HÌNH
4: MƠ TẢ SỰ KHƠNG RÕ RÀNG CỦA DỮ LIỆU ..............................................................26 HÌNH 5 :

MƠ TẢ HỆ SINH THÁI HADOOP.................................................................................29 HÌNH 6 : MƠ
HÌNH LƯU TRỮ DỮ LIỆU CỦA HADOOP ............................................................31 HÌNH 7: MƠ TẢ
CÁCH PHÂN TÁN DỮ LIỆU TRÊN HDFS ........................................................33 HÌNH 8: MAP
REDUCE TRONG HADOOP .................................................................................35 HÌNH 9: KIẾN
TRÚC CỦA HADOOP VỚI YARN ........................................................................36 HÌNH 10: MƠ HÌNH
VỀ CƠ CHẾ QUẢN LÝ CỦA YARN ............................................................37 HÌNH 11: MƠ HÌNH KIẾN
TRÚC CỦA ZOOKEEPER .................................................................38 HÌNH 12: MƠ HÌNH KIẾN
TRÚC CỦA KAFKA ..........................................................................39 HÌNH 13: BÊN TRONG 1
KAFKA CLUSTER ..............................................................................39 HÌNH 14: MƠ HÌNH KIẾN
TRÚC CỦA APACHE SPARK ...........................................................41 HÌNH 14: MƠ HÌNH KIẾN TRÚC
CỦA APACHE SPARK ...........................................................43 HÌNH 15: MƠ HÌNH KIẾN TRÚC CỦA
DATALAKE ...................................................................50 HÌNH 16: MƠ TẢ CẤU TRÚC LAMBDA
.....................................................................................51

HÌNH 17: GIAO DIỆN CỦA DREMIO

..........................................................................................61 HÌNH 18: XÂY DỰNG CƠ SỞ DỮ LIỆU
......................................................................................62

HÌNH

19

:

CHUẨN

BỊ

DỮ


LIỆU

...................................................................................................64 HÌNH 20: ĐƯA DỮ LIỆU VÀO HDFS
..........................................................................................66 HÌNH 21: ÁNH XẠ DỮ LIỆU LÊN DREMIO
................................................................................66

HÌNH 21: MƠ HÌNH KIẾN TRÚC CỦA

RECOMMENDER SYSTEM ...........................................69 HÌNH 22: MƠ HÌNH KIẾN TRÚC CỦA
TOÀN BỘ HỆ THỐNG ...................................................80

Trang 9

DANH MỤC TỪ VIẾT TẮT


STT

Từ viết tắt

Ý 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



Trang 10

TÓM TẮT ĐỀ TÀI
- Tổng quan đề tài: đặt vấn đề, lý do chọn đề tài, mục tiêu và phạm vi tiếp cận đề tài Tìm hiểu thực trạng, thị trường, khả năng phát triển.
- Nghiên cứu các công nghệ, cấu trúc, cơ chế hoạt động của Hệ thống dữ liệu lớn. Tìm hiểu các cách để xây dựng hệ thống dữ 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 11

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ô của dữ
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 để 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 để 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ề chi 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.
Tụi 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 để
hỗ trợ Khoa học Dữ liệu lớn như một dịch vụ cho các nhà khoa học dữ 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 dữ 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 tố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 đó dữ liệu được tạo ra, chia sẻ, và phân tích. Ngồi 4V
(Volume, Velocity, Variety and Veracity) (Dung lượng, Vận tốc, Độ đa dạng và Độ
chính xác), điều quan trọng là phải xem xét một tính năng bổ sung của Dữ liệu lớn là

Giá trị (Value). Giá 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 tốn và
kỹ thuật phân tích dữ liệu thơng minh. Phương pháp khoa học dữ 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 12


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 lồ 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 dữ 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 dịch 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 đa dạng và / hoặc tính kịp 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 để cho phép hiểu biết mở khóa các nguồn giá trị kinh doanh
mới. Tuy nhiên, gần đâ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ý dữ 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 dữ 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 đẩy 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: - Tụi em phân tích các

tính năng chính và các khối xây dựng của các hệ thống phần mềm để 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.
- Tụi em xác định một tập hợp các yêu cầu chính để đạ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ụ.
- Tụi em phân tích và đánh giá ưu nhược điểm các khung và kiến trúc phần mềm cần
thiết để tìm kiếm và lựa chọn kiến trúc phù hợp cho hệ thống. - Tụi em thực hiện các
giải pháp thực tế về việc xây dựng Hệ thống dữ liệu lớn để hỗ trợ trong việc phân tích
và xử lý dữ liệu.

Trang 13
- Tụi em thực hiện các giải pháp thực tế về việc áp dụng Hệ thống dữ 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 ý.

Trang 14


CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI
1.1 Mục tiêu và phạm 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ệ thống 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 hiện tại có trên thị trường.
- Thiết kế hệ thống dữ 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ệ thống

khuyến nghị (Recommender System)
- Nghiên cứu các phương pháp,giải thuật và các cơng thức
tốn học phù hợp nhất cho hệ thống khuyến nghị
- Xây dựng hệ thống khuyến nghị phù hợp
1.1.2 Phạm vi
Các hệ thống dữ liệu lớn đám mây (cloud), các hệ thống dữ liệu lớn tại
chỗ (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ợ dữ liệu lớn.
Các hệ thống khuyến nghị, các phương pháp để tiếp cận và thử
nghiệm với các hệ thống dữ liệu lớn

1.2 Nội dung thực hiện
Mục tiêu của đề 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 15


có trên thị trường.
- Nghiên cứu các yếu tố, thành phần cấu trúc Hệ thống dữ
liệu lớn
- Xây dựng Hệ thống dữ liệu lớn
- Tìm hiểu về hệ thống khuyến nghị, các khái niệm chuyên
ngành
- Tìm hiểu về hệ thống khuyến nghị, các dịch vụ thương mại có
trên thị trường.
- Nghiên cứu các yếu tố, thành phần cấu trúc,các giải thuật và
công thức phù hợp để áp dụng cho hệ thống khuyến nghị - Xây

dựng Hệ thống khuyến nghị


Trang 16

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.1 Khảo sát thực trạng
Ngày nay, dường như mọi người đang nói về thuật ngữ dữ liệu lớn. Tuy
nhiên, phần lớn trong số họ không chắc chắn đó là gì và họ sẽ tận dụng tối
đa nó như thế nào. Ngồi một vài cơng ty, hầu hết trong số họ vẫn còn bối
rối về khái niệm này và chưa sẵn sàng áp dụng ý tưởng này. Ngay cả khi
chúng ta nghe thấy thuật ngữ dữ liệu lớn, rất nhiều câu hỏi xuất hiện trong
đầu chúng ta. Điều rất quan trọng để hiểu những khái niệm này. Những câu
hỏi này bao gồm:
- Dữ liệu lớn là gì?
- Tại sao có quá nhiều sự cường điệu về nó?
- Nó chỉ có nghĩa là khối lượng dữ liệu khổng lồ hoặc có cái gì
khác cho nó?
- Liệu dữ liệu lớn có bất kỳ đặc điểm nào và đây là những gì?
- Tại sao chúng ta cần kiến trúc sư dữ liệu lớn và những cân
nhắc thiết kế chúng ta phải xem xét để kiến trúc sư bất kỳ giải
pháp dữ liệu lớn nào?
Trong chương này, tụi em sẽ tập trung vào việc trả lời những câu hỏi này và
xây dựng một nền tảng vững chắc để tìm hiểu thế giới của thế giới dữ

Trang 17


liệu lớn. Chủ yếu, tụi em sẽ đề cập đến các chủ đề sau:

- Dữ 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 dữ liệu lớn. Thuật ngữ chính được sử dụng trong thế giới dữ liệu lớn.

2.2 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ể được coi
là một khối lượng dữ liệu khổng lồ không thể lưu trữ và xử lý bằng cách sử
dụng phương pháp truyền thống. Vì dữ 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á trị
này có thể được sử dụng để thực hiện các phân tích dự đốn, cũng như cho
tiếp thị và nhiều mục đích khác. Nếu chúng ta sử dụng phương pháp truyền
thống, chúng ta sẽ khơng thể hồ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ụ này.
Đó là một định nghĩa đơn giản hơn để hiểu khái niệm dữ liệu lớn. Phiên
bản chính xác hơn như sau:
"Dữ liệu lớn là dữ liệu có khối lượng lớn, liên quan đến hệ thống xử lý,
với nhiều dữ liệu có cấu trúc và khơng cấu trúc có chứa các mẫu dữ liệu
khác nhau được phân tích."
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 để 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úng tôi chỉ
giữ dữ liệu mà không xử lý dữ liệu hoặc nếu chúng tơi khơng lưu trữ dữ
liệu, coi đó là khơng có giá trị, điều này có thể gây bất lợi cho

Trang 18
công ty.


Bạn đã bao giờ xem YouTube đang gợi ý cho bạn những video mà bạn có

khả năng xem nhiều nhất chưa? Google đang phân phát quảng cáo địa
phương cho bạn như thế nào, nhắm mục tiêu cụ thể đến bạn như những
quảng cáo bạn sẽ mở hoặc sản phẩm bạn đang tìm kiếm? Các cơng ty này
đang giữ tất cả các hoạt động bạn làm trên trang web 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ọ, để
tạo doanh thu. Có rất nhiều ví dụ có sẵn của loại hành vi này và nó đang gia
tăng khi ngày càng nhiều công ty nhận ra sức mạnh của dữ liệu. Điều này
đặt ra một thách thức cho các nhà nghiên cứu công nghệ: đưa ra các giải
pháp mạnh mẽ và hiệu quả hơn có thể đáp ứng các thách thức và 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ẽ
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ó.

2.3 Đặc điểm của dữ liệu lớn
Đây cũng được gọi là kích thước của dữ liệu lớn. Năm 2001, Doug Laney
lần đầu tiên trình bày cái được gọi là ba Vs của dữ liệu lớn để mô tả một số
đặc điểm làm cho dữ liệu lớn khác với xử lý dữ liệu khác. Ba Vs này là khối
lượng, vận tốc và sự đa dạng. Đây là thời đại của sự tiến bộ công nghệ và vô
số nghiên cứu đang diễn ra. Kết quả của việc đạt được và tiến bộ này, ba Vs
này đã trở thành sáu Vs của dữ liệu lớn như bây giờ. Nó cũng có thể tăng
trong tương lai. Cho đến nay, sáu Vs của dữ liệu lớn là khối lượng, vận tốc,
sự đa dạng, tính xác thực, tính biến đổi và giá trị, như được minh họa trong
sơ đồ sau. Những đặc điểm này sẽ được thảo

Trang 19
luận chi tiết sau trong chương này.


Hình 1: Đặc điểm của dữ liệu lớn (Big Data)


Trang 20
Các kích thước bộ nhớ máy tính khác nhau được liệt kê trong bảng sau để
cho bạn ý tưởng về các chuyển đổi giữa các đơn vị khác nhau. Nó sẽ cho
bạn hiểu kích thước của dữ liệu trong các ví dụ sắp tới trong chương này:
1 Bit

Binary digit


8 Bits

1 byte

1,024 Bytes

1 KB (kilobyte)

1,024 KB

1 MB (megabyte)

1,024 MB

1 GB (gigabyte)

1,024 GB

1 TB (terabyte)

1,024 TB


1 PB (petabyte)

1,024 PB

1 EB (exabyte)

1,024 EB

1 ZB (zettabyte)

1,024 ZB

1 YB (yottabyte)

1,024 YB

1 brontobyte

1,024 brontobyte

1 geopbyte

Trang 21
2.3.1 Dung lượng
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. Chỉ tưởng tượng thôi; dân số thế giới là 7 tỷ và gần 6 tỷ
trong số họ có điện thoại di động. Bản thân một chiếc điện thoại di động
chứa nhiều cảm biến, như máy đo con quay, tạo dữ liệu cho từng sự kiện,


hiện đang được thu thập và phân tích.
Khi chúng ta nói về khối lượng trong bối cảnh dữ liệu lớn, đó là một lượ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à dữ 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. Họ có 2 tỷ người dùng hoạt động liên tục sử dụng
trang mạng xã hội này để chia sẻ trạng thái, ảnh, video, nhận xét về bài
đăng, lượt thích, khơng thích và nhiều hoạt động khác của họ. Theo số liệu
thống kê do Facebook cung cấp, 600 TB dữ liệu hàng ngày đang được đưa
vào cơ sở dữ liệu của Facebook. Biểu đồ sau đây biểu thị dữ liệu đã có
trong những năm trước, tình hình hiện tại và nơi nó sẽ đến

Trang 22
trong tương lai:


Hình 2: Tăng trưởng dữ liệu trong quá khứ, hiện tại,tương lai
2.3.2 Vận tốc
Vận tốc là tốc độ tạo ra dữ liệu hoặc tốc độ dữ liệu đến. Nói cách đơn giản
hơn, chúng ta có thể gọi nó là dữ liệu chuyển động. Hãy tưởng tượng lượng
dữ liệu Facebook, YouTube hoặc bất kỳ trang web mạng xã hội nào đang
nhận được mỗi ngày. Họ phải lưu trữ nó, xử lý nó và bằng cách nào đó sau
đó có thể lấy nó. Dưới đây là một vài ví dụ về việc dữ liệu tăng nhanh như
thế nào:

- Sàn giao dịch chứng khoán New York thu được 1 TB dữ liệu
trong mỗi phiên giao dịch.
- 120 giờ video đang được tải lên YouTube mỗi phút.
- Dữ liệu được tạo ra bởi những chiếc xe hiện đại; họ có gần 100
cảm biến để theo dõi từng vật phẩm từ nhiên liệu và áp suất

Trang 23
lốp đến các chướng ngại vật xung quanh.
- 200 triệu email được gửi mỗi phút.
- Nếu chúng ta lấy ví dụ về xu hướng truyền thơng xã hội, nhiều dữ
liệu hơn có nghĩa là tiết lộ nhiều thơng tin hơn về các nhóm


×