SLide bài giảng môn học Phân tích dữ liệu lớn về nội dung "Mô hình xử lý đồ thị và luồng"
SLide bài giảng môn học Phân tích dữ liệu lớn về nội dung "Mô hình xử lý đồ thị và luồng" của Đại học Ngân hàng Thành phố Hồ Chí Minh với những kiến thức và thông tin bổ ích giúp sinh viên tham khảo, ôn luyện và phục vụ nhu cầu học tập của mình cụ thể là có định hướng ôn tập, nắm vững kiến thức môn học và làm bài tốt trong những bài kiểm tra, bài tiểu luận, bài tập kết thúc học phần, từ đó học tập tốt và có kết quả cao cũng như có thể vận dụng tốt những kiến thức mình đã học vào thực tiễn cuộc sống. Mời bạn đọc đón xem!
Môn: Phân tích dữ liệu lớn (Big Data Analytic)
Trường: Đại học ngân hàng Thành phố Hồ Chí Minh
Thông tin:
Tác giả:
Preview text:
lOMoARcPSD| 36667950 NỘI DUNG •Mô hình xử lý luồng
•Mô hình xử lý dữ liệu
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam lOMoARcPSD| 36667950 XỬ LÝ DỮ LIỆU THEO LÔ •Khái niệm
– Việc xử lý một tập dữ liệu lớn mà không cần tương tácngười dùng trong quá trình xử lý
– Điều này thường ược thực hiện với những tác vụ òi hỏi thời gian xử lý lớn, chẳng hạn:
• Phân tích dữ liệu lớn • Xử lý hóa ơn hàng loạt
• Xử lý giao dịch ngân hàng hàng loạt
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam XỬ LÝ DỮ LIỆU THEO LÔ •Quy trình
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam lOMoARcPSD| 36667950 XỬ LÝ DỮ LIỆU THEO LÔ •Quy trình
– Dữ liệu mới ược sinh ra sẽ ược gom nhóm thành các lô (batch) và
sau ó sẽ ược xử lý (process) sau ó
– Hai cách phổ biến ể xác ịnh khi nào các batch này sẽ ược xử lý là:
• Dựa trên một khoảng thời gian nhất ịnh
– Ví dụ: Cứ 60 phút xử lý một lần) • Dựa trên một số iều kiện nhất ịnh
– Ví dụ: cứ thu thập ủ 50 files dữ liệu sẽ xử lý một lần, hay cứ thu thập ủ 100G dữ liệu sẽ xử lý một lần, …
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam XỬ LÝ DỮ LIỆU THEO LÔ Nguồn: Microsoft
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam lOMoARcPSD| 36667950 XỬ LÝ DỮ LIỆU THEO LÔ •Công cụ hỗ trợ – Hadoop
• Một framework mã nguồn mở ược thiết kế ể lưu trữ và xử lý dữ liệu lớn trên
một cụm máy tính với phần cứng chuẩn.
• Gồm hai thành phần chính
– Hadoop Distributed File System (HDFS) ể lưu trữ dữ liệu
– Hadoop MapReduce ể xử lý dữ liệu
• Hadoop cho phép xử lý dữ liệu hàng loạt bằng cách phân chia công việc xử lý trên
nhiều máy tính trong cụm
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam XỬ LÝ DỮ LIỆU THEO LÔ •Công cụ hỗ trợ – Apache Spark
• Một hệ thống xử lý dữ liệu phân tán mã nguồn mở, tối ưu chotốc ộ, sự dễ dùng, và tính linh hoạt
• Có thể xử lý dữ liệu hàng loạt và dữ liệu theo dòng (streaming),hỗ trợ một loạt
các tác vụ, từ phân tích dữ liệu ến học máy
• Thường nhanh hơn Hadoop MapReduce, ặc biệt khi thực hiện nhiều tác vụ xử lý
trên cùng một tập dữ liệu
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam lOMoARcPSD| 36667950 XỬ LÝ DỮ LIỆU THEO LÔ •Công cụ hỗ trợ – Hive
• Công cụ phù hợp cho những người ã quen với SQL và muốn áp dụng kỹ năng SQL
của mình ể phân tích dữ liệu hàng loạt trên Hadoop
• Hữu ích khi cần chuyển ổi dữ liệu lớn từ Hadoop vào cơ sở dữ liệu SQL – MapReduce
• Mô hình lập trình hữu ích ể tạo các ứng dụng phân tán từ ầu, cho phép bạn tận
dụng toàn bộ sức mạnh của Hadoop
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam XỬ LÝ DỮ LIỆU THEO LÔ •Ứng dụng thực tế
– Batch Processing thường ược sử dụng trong các ứng dụng yêu cầu
xử lý dữ liệu lớn mà không cần ến kết quả ngay lập tức, như phân
tích dữ liệu quy mô lớn, thống kê, dự báo, hoặc xử lý giao dịch hàng loạt
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam lOMoARcPSD| 36667950 XỬ LÝ DỮ LIỆU THEO LÔ •Ứng dụng thực tế
– Phân tích dữ liệu quy mô lớn
• Do không yêu cầu sự tương tác người dùng trong quá trình xửlý, Batch
Processing rất phù hợp với việc phân tích dữ liệu lớn.
• Các tổ chức thường sử dụng Batch Processing
ể phân tích lưu lượng truy
cập web, thông tin khách hàng, kết quả bán hàng, và nhiều hơn nữa
– Ví dụ, một công ty có thể dùng Batch Processing vào cuối mỗi ngày ể tổng hợp và phân tích dữ liệu bán hàng
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam XỬ LÝ DỮ LIỆU THEO LÔ •Ứng dụng thực tế
– Xử lý giao dịch ngân hàng
• Các ngân hàng thường sử dụng Batch Processing ể xử lý hàng loạt các giao dịch, như
chuyển tiền, rút tiền, và thanh toán hóa ơn
• Những giao dịch này thường ược tổng hợp vào cuối ngày và ược xử lý như một
batch – Thống kê và dự báo
• Batch Processing thường
ược sử dụng trong việc thống kê và dự báo
• Dữ liệu từ nhiều nguồn khác nhau ược tổng hợp và xử lý hàng loạt ể tạo ra các dự
báo về thị trường, xu hướng tiêu dùng, hoặc các dự báo khác
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam lOMoARcPSD| 36667950 XỬ LÝ DỮ LIỆU THEO LÔ •Ứng dụng thực tế – Xử lý hóa ơn hàng loạt
• Các doanh nghiệp thường sử dụng Batch Processing ể xử lý hóa ơn hàng loạt
• Điều này bao gồm việc tạo, gửi, và theo dõi hóa ơn cho hàng trăm hoặc thậm chí
hàng nghìn khách hàng cùng một lúc
– Xử lý dữ liệu trên hệ thống máy chủ
• Một số tác vụ như sao lưu dữ liệu, cập nhật phần mềm, hoặcchạy các công việc
lịch biểu thường ược thực hiện như các quá trình Batch Processing, thường xuyên
vào thời iểm nào ó trong ngày khi tải hệ thống thấp
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam
XỬ LÝ DỮ LIỆU THEO LUỒNG •Khái niệm
– Quá trình xử lý dữ liệu gần như ngay lập tức sau khi nóược tạo ra
• Dữ liệu sẽ không phải chờ cho ến khi ủ batch mới ược xử lý, nó sẽ ược xử lý ngay
khi dữ liệu ược phát sinh
– Điều này ặc biệt hữu ích khi cần xử lý và phân tích dữ liệu theo thời gian thực
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam lOMoARcPSD| 36667950
XỬ LÝ DỮ LIỆU THEO LUỒNG •Quy trình – Dữ liệu
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam
XỬ LÝ DỮ LIỆU THEO LUỒNG
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam lOMoARcPSD| 36667950
XỬ LÝ DỮ LIỆU THEO LUỒNG •Công cụ hỗ trợ – Apache Kafka
• Hệ thống phân tán mã nguồn mở ược thiết kế ể xử lý luồng dữ liệu theo thời gian thực
• Được thiết kế ể xử lý luồng dữ liệu quy mô lớn, áng tin cậy, và có khả năng mở rộng linh hoạt
• Thường ược sử dụng trong các hệ thống vận hành theo thời gian thực, như theo
dõi hoạt ộng người dùng trực tuyến, phân tích luồng dữ liệu từ các cảm biến IoT,
hoặc làm hệ thống trung gian cho việc truyền dữ liệu giữa các hệ thống khác nhau
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam
XỬ LÝ DỮ LIỆU THEO LUỒNG •Công cụ hỗ trợ – Apache Flink
• Framework mã nguồn mở cho việc xử lý dữ liệu theo luồng(streaming) và theo
lô (batch) với ộ trễ thấp và quy mô lớn
• Được thiết kế ể chạy trên các cụm máy tính phân tán và cung cấp khả năng xử
lý dữ liệu theo thời gian thực, khả năng khôi phục sau khi lỗi và mô hình lập trình dễ sử dụng
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam lOMoARcPSD| 36667950
XỬ LÝ DỮ LIỆU THEO LUỒNG •Công cụ hỗ trợ – Apache Storm
• Hệ thống xử lý dữ liệu theo thời gian thực mã nguồn mở
• Cho phép xử lý dữ liệu theo thời gian thực bằng cách sử dụngcác luồng dữ liệu
không giới hạn, và cung cấp khả năng xử lý sự cố, mở rộng, và cân bằng tải
• Thích hợp cho nhiều ứng dụng, từ xử lý luồng dữ liệu IoT choến phân tích dữ liệu theo thời gian thực
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam
XỬ LÝ DỮ LIỆU THEO LUỒNG •Công cụ hỗ trợ – Google Cloud Dataflow
• Dịch vụ xử lý dữ liệu theo thời gian thực và hàng loạt ược quản lý hoàn toàn trên Google Cloud Platform
• Tự ộng iều chỉnh quy mô tài nguyên dựa trên yêu cầu công việc, giúp xử lý lượng
dữ liệu lớn mà không cần quan tâm ến việc quản lý cơ sở hạ tầng
• Cung cấp mô hình lập trình ơn giản, giúp tập trung vào việc viết mã mà không
phải quan tâm ến chi tiết của hệ thống
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam lOMoARcPSD| 36667950
XỬ LÝ DỮ LIỆU THEO LUỒNG •Ứng dụng thực tế
– Phân tích dữ liệu theo thời gian thực
• Stream Processing giúp các tổ chức phân tích dữ liệu ngay lập tức khi dữ liệu
ược tạo ra, cung cấp cái nhìn tức thời về hoạt ộng kinh doanh
– Ví dụ, các công ty thương mại iện tử có thể dùng Stream Processing ể theo dõi hành vi mua hàng
của khách hàng theo thời gian thực và tạo ra các gợi ý sản phẩm phù hợp
– Giám sát và cảnh báo
• Stream Processing cung cấp khả năng phát hiện và phản ứng nhanh chóng với các sự kiện quan trọng
– Ví dụ, các hệ thống giám sát giao thông có thể dùng Stream Processing ể phát hiện và cảnh
báo ngay lập tức về các vụ tai nạn giao thông
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam
XỬ LÝ DỮ LIỆU THEO LUỒNG •Ứng dụng thực tế
– Xử lý dữ liệu từ thiết bị IoT
• Các thiết bị IoT thường tạo ra luồng dữ liệu liên tục
• Stream Processing giúp xử lý và phân tích dữ liệu này theo thờigian thực, cho
phép các tổ chức dự oán và phản ứng nhanh chóng với các sự kiện
– Ví dụ, hệ thống giám sát chất lượng không khí trong một thành phố có thểdùng Stream Processing
ể theo dõi mức ộ ô nhiễm không khí và cảnh báo ngay lập tức khi mức ộ ô nhiễm vượt quá ngưỡng cho phép
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam lOMoARcPSD| 36667950
XỬ LÝ DỮ LIỆU THEO LUỒNG •Ứng dụng thực tế
– Quảng cáo theo thời gian thực
• Stream Processing cho phép các công ty quảng cáo cung cấpquảng cáo theo thời
gian thực dựa trên hành vi người dùng
• Điều này có thể bao gồm việc hiển thị quảng cáo dựa trên trangweb mà người
dùng ang xem hoặc dựa trên vị trí ịa lý của họ
– Phân tích truyền thông xã hội
• Stream Processing giúp các công ty phân tích dữ liệu từ cácnền tảng truyền thông
xã hội theo thời gian thực, cho phép họ theo dõi xu hướng và phản ứng nhanh chóng với các sự kiện
– Ví dụ, các công ty marketing có thể sử dụng Stream Processing ể theo dõi các hashtag trên Twitter
và phản ứng nhanh chóng với các chủ ề ang hot
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam
XỬ LÝ DỮ LIỆU ĐỒ THỊ •Khái niệm ược sử dụng ể ối tượng Đỉnh (vertex/node) Cạnh (egde)
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam lOMoARcPSD| 36667950
XỬ LÝ DỮ LIỆU ĐỒ THỊ •Sự tăng
trưởng vượt bậc trong việc sử dụng dữ liệu Mạng xã hội Đỉnh - Người dùng - Bài viết, hình ảnh Cạnh - Mối liên hệ xã hội + Có hướng: Twitter
+ Vô hướng: Facebook - Ưa thích (likes) Nguồn: Pinterest
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam lOMoARcPSD| 36667950
XỬ LÝ DỮ LIỆU ĐỒ THỊ •Sự tăng
trưởng vượt bậc trong việc sử dụng dữ liệu Mạng lưới Web Đỉnh - Trang web (webpage) Cạnh - Liên kết (có hướng) Nguồn: Pinterest
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam lOMoARcPSD| 36667950
XỬ LÝ DỮ LIỆU ĐỒ THỊ •Sự tăng
trưởng vượt bậc trong việc sử dụng dữ liệu Mạng chuỗi cung ứng Đỉnh - Nhà cung cấp - Khách hàng Cạnh - Giao dịch mua/bán Nguồn: Requis
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam lOMoARcPSD| 36667950
XỬ LÝ DỮ LIỆU ĐỒ THỊ Mạng lưới web Xếp hạng trang
XỬ LÝ DỮ LIỆU ĐỒ THỊ •Khái niệm
– Đồ thị là cấu trúc dữ liệu trừu tượng ược sử dụng ể mô hình hóa
mối quan hệ cấu trúc giữa các ối tượng •Thực tế
– Sự tăng trưởng vượt bậc trong việc sử dụng dữ liệu ồ thị trong các ứng dụng hiện ại
– Các ứng dụng này hoạt ộng trên các ồ thị lớn với hàng tỷ ỉnh và cạnh
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam lOMoARcPSD| 36667950
XỬ LÝ DỮ LIỆU ĐỒ THỊ
•Mạng lưới web và mạng xã hội rất lớn và tiếp tục phát triển với tốc ộ nhanh chóng
– Google ước tính số lượng trang web vượt quá 1012
– Facebook có hơn 109 người dùng và hơn 140 tỷ mối quan hệ
– Twitter có hàng tỷ mối quan hệ theo dõi
– Các hệ thống e-Commerce có hàng trăm triệu mối quanhệ mua-bán
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam
XỬ LÝ DỮ LIỆU ĐỒ THỊ Cơ sở dữ liệu ồ thịXử lý dữ liệu ồ thị
Bộ lưu trữCác API duyệt và xử lý Ngôn ngữ truy vấn Nâng cao hiệu quả Giao dịch (dữ liệu trong bộ nhớ) Ví dụ: Ví dụ: • Neo4jGraphX • OrientDBGiraphe • TitanGraphLab
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam lOMoARcPSD| 36667950
XỬ LÝ DỮ LIỆU ĐỒ THỊ •Thách thức
ối với “tính toán ồ thị”
– Đồ thị không vừa với một máy
– Hạn chế trong việc truy cập bộ nhớ theo vị trí
– Rất ít công việc trên mỗi – Việc duyệt
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam
XỬ LÝ DỮ LIỆU ĐỒ THỊ •Thách thức ối với Hadoop MapReduce
– Mỗi lần thực thi, MapReduce ọc dữ liệu gốc từ ĩa cứng (HDFS),
tính toán các kết quả và lưu trữ chúng trở lại ĩa cứng
– Hầu hết thuật toán ồ thị ều là quá trình lặp, việc ọc toàn bộ dữ
liệu từ ĩa và ghi kết quả vào ĩa sẽ ược thực hiện trong mỗi lần lặp
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam lOMoARcPSD| 36667950
XỬ LÝ DỮ LIỆU ĐỒ THỊ
•Pregel, mô hình iện toán của Google, chứa một dãy các
superstep, trong superstep S, mỗi ỉnh (vertex) có thể
– Thay ổi trạng thái của nó hoặc của một trong số các “láng giềng” của nó – Nhận các thông
iệp gửi cho nó từ “superstep” S-1
– Gửi các thông iệp cho các “láng giềng” của nó (sẽ ược nhận ở “superstep” S+1) – Bỏ phiếu ể kết thúc
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam
XỬ LÝ DỮ LIỆU ĐỒ THỊ
•Pregel, mô hình iện toán của Google, chứa một dãy các superstep, trong ó
– Đầu tiên tất cả các ỉnh
ều có hiệu lực “ACTIVE”
– Đỉnh sẽ hết hiệu lực (INACTIVE, HALTED) tự khi “bỏ phiếu ể kết
thúc”, tức là không tiếp tục hoạt ộng nữa
– Đỉnh hết hiệu lực (HALTED) sẽ có hiệu lực trở lại (ACTIVE) khi nhận ược thông iệp –
Thuật toán sẽ kết thúc khi • Tất cả các
ỉnh cùng ở trạng thái hết hiệu lực (HALTED) • Không có thông iệp ược gửi – nhận
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam lOMoARcPSD| 36667950
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam
XỬ LÝ DỮ LIỆU ĐỒ THỊ
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam lOMoARcPSD| 36667950
XỬ LÝ DỮ LIỆU ĐỒ THỊ SuperStep 0 SuperStep 1 SuperStep 2
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam
XỬ LÝ DỮ LIỆU ĐỒ THỊ
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam lOMoARcPSD| 36667950
XỬ LÝ DỮ LIỆU ĐỒ THỊ
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam
XỬ LÝ DỮ LIỆU ĐỒ THỊ •Pregel, mô hình iện toán của Google – Hạn chế ồ thị hội tụ với tốc ộ khác nhau
• Không hiệu quả nếu một nhiệm vụ “áng giá h n” những nhiệm vụ khác
• Thời gian chạy của mỗi giai ịnh bở i máy chậm n hất
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam lOMoARcPSD| 36667950
XỬ LÝ DỮ LIỆU ĐỒ THỊ •Giải pháp
GraphX trên nền Apache Spark
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam
XỬ LÝ DỮ LIỆU ĐỒ THỊ
•Giải pháp GraphX trên nền Apache Spark
– Sử dụng ba chức năng của Pregel • Mỗi ỉnh nhận các thông iệp
ến và tính giá trị mới của ỉnh • Gửi thông iệp ến các ỉnh khác • Nhận hai thông iệp
ến và nhập chúng thành một thông iệp
– Sự khác biệt với Pregel • Pha khởi tạo
ộc lập với quá trình duyệt và xử lý
• Cho phép truy cập cả hai ỉnh của cạnh trong khi tạo thông iệp
• Chỉ cho phép gửi thông tin ến các ỉnh láng giềng
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam lOMoARcPSD| 36667950
XỬ LÝ DỮ LIỆU ĐỒ THỊ
•Giải pháp GraphX trên nền Apache Spark Nguồn: livebook.manning.com
… những bước chập chững vào thế giới Dữ liệu lớn … TS. Trịnh Hoàng Nam