



















Preview text:
Faculty of Information Technology Ton Duc Thang University Nov 2025 Mining
Mining data: khai thác/khai phá tri thức từ dữ liệu
Mining Massive Data Sets: khai thác/khai phá tri thức từ dữ liệu siêu lớn
xu hướng, mối quan hệ, hoặc quy luật ... Ví dụ 1: Siêu thị
Dữ liệu: hàng triệu hóa đơn mua sắm Mining:
Người mua bia thường mua thêm đậu phộng
Tối thứ 6 bán bia tăng mạnh Ứng dụng:
Đặt bia gần đậu phộng
Khuyến mãi đúng thời điểm
➡ Association Rule Mining @2025 Trinh Hung Cuong 2 Mining
Ví dụ 2: Netflix / YouTube Dữ liệu: Video đã xem Thời gian xem Like / Skip … Mining:
Người xem golf swing tutorial → hay xem slow-motion golf analysis Ứng dụng: Recommendation System @2025 Trinh Hung Cuong 3 Mining
Từ data, rút ra cái “có ý nghĩa, có giá trị sử dụng”
trong học thuật gọi là tri thức (knowledge)
Data Mining ≈ Big Data ≈ Predictive Analytics ≈ Data Science ≈ Machine Learning
Dấu ≈ : chồng lấn / liên quan mạnh, mỗi cái nhấn vào một khía cạnh khác nhau
Machine Learning = công cụ
Data Mining = mục tiêu khám phá
Khai phá các mẫu, quy luật, mối quan hệ ẩn trong dữ liệu
Câu hỏi: “Trong dữ liệu có gì hay?”
Ví dụ: Người mua A thường mua B @2025 Trinh Hung Cuong 4 Mining
Predictive Analytics = mục tiêu dự đoán
Dùng dữ liệu quá khứ để dự đoán tương lai
Câu hỏi: “Tương lai sẽ thế nào?”
Ví dụ:Dự đoán sales tháng sau @2025 Trinh Hung Cuong 5 Mining
Big Data = bối cảnh / quy mô
dữ liệu quá lớn / quá nhanh / quá đa dạng 3V (kinh điển):
Volume – dữ liệu cực lớn
Velocity – dữ liệu đến liên tục
Variety – nhiều dạng (text, video, log…) Ví dụ:
Clickstream của hàng triệu user
Video từ hàng ngàn camera
➡Data Mining / ML / Predictive Analytics đều có thể chạy trên Big Data @2025 Trinh Hung Cuong 6 Mining
Data Science = lĩnh vực bao trùm tất cả
ML, Data Mining, Predictive Analytics đều nằm trong Data Science @2025 Trinh Hung Cuong 7 Mining
Data mining = extraction of actionable information from (usually) very large datasets
actionable có nghĩa là "có thể hành động được" >>> chỉ thông tin, dữ liệu, hoặc ý
tưởng có thể chuyển hóa thành hành động thực tế, có tính ứng dụng cao và mang lại kết quả cụ thể @2025 Trinh Hung Cuong 8 Large-scale computing
Phần cứng thông dụng (commodity hardware)
là thiết bị máy tính có giá tương đối rẻ, được bán rộng rãi và có thể thay thế cho các
phần cứng khác cùng loại
Storage Infrastructure – File system
hạ tầng lưu trữ dữ liệu, cụ thể là hệ thống file dùng cho dữ liệu lớn
Không phải: NTFS (Windows) ext4 (Linux) FAT32 ... Vì:
Dữ liệu quá lớn (TB–PB) Chạy trên nhiều máy
Máy có thể hỏng bất kỳ lúc nào
cần Distributed File System (hệ thống file phân tán) @2025 Trinh Hung Cuong 9 Large-scale computing GFS = Google File System Do Google thiết kế Dùng nội bộ cho: Google Search Google Maps YouTube
Chia file thành chunks (64MB) Mỗi chunk:
Lưu nhiều bản sao (replica)
Trên nhiều máy khác nhau
Nếu 1 máy chết → không mất dữ liệu @2025 Trinh Hung Cuong 10 Large-scale computing
HDFS = Hadoop Distributed File System
Là hệ thống file của Apache Hadoop
Lấy cảm hứng trực tiếp từ GFS Dùng rộng rãi trong: Big Data Data Engineering Machine Learning pipeline
HDFS = GFS phiên bản mã nguồn mở @2025 Trinh Hung Cuong 11 Large-scale computing: HDFS Kiến trúc cơ bản: Name Node Quản lý metadata
Biết: file nào, block nào, nằm ở đâu Data Node Lưu dữ liệu thật Cách lưu file:
File → chia thành blocks (128MB) Mỗi block:
Lưu 3 bản sao (default)
Trên các Data Node khác nhau @2025 Trinh Hung Cuong 12 Large-scale computing
Rack = tủ chứa servers trong data center
1 rack ≈ 1 cái tủ kim loại cao Bên trong xếp: Servers Switch mạng Thiết bị nguồn
Các server trong cùng rack:
Dùng chung nguồn điện Dùng chung switch mạng
Rack = nhóm servers “ở cùng một tủ vật lý” @2025 Trinh Hung Cuong 13 Large-scale computing
Trong Apache Hadoop HDFS (và Google GFS): Rack Awareness Hệ thống biết:
Server nào thuộc rack nào Khi lưu block/chunk:
KHÔNG đặt tất cả replica trong cùng rack
Chiến lược điển hình (replication = 3): 1 replica ở rack A
2 replica ở rack B (khác rack A) @2025 Trinh Hung Cuong 14 MapReduce
MapReduce là mô hình lập trình (programming model) để xử lý dữ liệu cực
lớn bằng cách chia nhỏ – xử lý song song – rồi tổng hợp lại
Map: ánh xạ / xử lý từng phần dữ liệu
Reduce: gom kết quả lại để ra đáp án cuối
1 mapper = 1 tiến trình / task
Mapper gọi các hàm map một cách tuần tự và mỗi hàm map xử lý 1 input element @2025 Trinh Hung Cuong 15 MapReduce
Group by key (Sort & Shuffle)
System sorts all the key-value pairs by key
Bước này KHÔNG DO USER VIẾT
Hệ thống MapReduce tự lo Sort: Sắp xếp key
(golf,1), (golf,1), (golf,1), (swing,1), (swing,1)
Shuffle: Gửi tất cả key giống nhau về cùng 1 reducer (di chuyển dữ liệu) (golf, [1,1,1]) (swing, [1,1]) @2025 Trinh Hung Cuong 16 MapReduce
Code hàm map (slide 41, 01-intro.pdf) chưa được tối ưu:
Emit quá nhiều key–value giống nhau Shuffle phải:
Gửi và sắp xếp, truyền nhiều bản ghi, ví dụ (crew,1) gửi nhiều lần cho hệ thống Tốn mạng + disk
➡Với Big Data: rất tốn chi phí
Cách “chuẩn – tối ưu hơn”
Đếm cục bộ trong Map (in-mapper combining)
Dùng Combiner: chạy sau Map trước Shuffle
Trên node đang chạy Mapper
Chỉ xử lý output cục bộ của mapper đó
➡Giảm mạnh traffic mạng @2025 T rinh Hung Cuong 17 MapReduce
Chunk (block): là đơn vị lưu trữ trong hệ thống file phân tán (ví dụ HDFS)
Thường kích thước: 64MB / 128MB
Input element: là đơn vị logic mà hàm Map() xử lý
1 chunk → chứa nhiều input elements
Ví dụ: 1 file text lớn, Chunk = 128MB, Input element = 1 dòng (line)
→ Một chunk có thể chứa hàng triệu input elements @2025 Trinh Hung Cuong 18 MapReduce
Ví dụ hệ thống MapReduce Thành phần Số lượng Master Nodes (JobTracker) 1 Chunk servers (DataNodes) 4 File lớn 1 file 1GB Chunk size 128MB Số chunk 8 chunks @2025 Trinh Hung Cuong 19 MapReduce
Lưu trữ file trong HDFS:
file log.txt (1GB) được chia: Chunk Kích thước Lưu ở C1 128MB Node A C2 128MB Node B C3 128MB Node C C4 128MB Node D C5 128MB Node A C6 128MB Node B C7 128MB Node C C8 128MB Node D
(mỗi chunk còn có replica, nhưng tạm bỏ qua cho dễ hiểu) @2025 Trinh Hung Cuong 20