Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

1.

Định hướng tìm dữ liệu

• Phần lớn, dữ liệu được thu thập có ở dạng text vì mục tiêu đề tài
hướng đến là giải quyết các bài toán liên quan đến xử lý văn phạm:
đếm từ với dữ liệu văn bản, đếm mục xuất hiện trong các loại dữ liệu
bất kỳ,....
• Lấy thông tin từ các trang báo điện tử Việt Nam để có được bộ dữ
liệu tiếng Việt: vnexpress, vietnamnet, báo mới, dân trí, kênh 14.
• Các dữ liệu tiếng anh và tiếng Việt lấy từ công cụ Google Dataset
Search.
• Dữ liệu về các tiểu thuyết Việt Nam được tải từ trên mạng.

2. Map-reduce (slide 6)
- MapReduce có thể hiểu là một phương thức thực thi để giúp các ứng dụng có thể xử lý nhanh một
lượng dữ liệu lớn. Các dữ liệu này được đặt tại các máy tính phân tán. Các máy tính này sẽ hoạt
động song song độc lập với nhau. Điều này làm rút ngắn thời gian xử lý toàn bộ dữ liệu. Một đặc
điểm đáng chú ý của MapReduce là dữ liệu đầu vào có thể là dữ liệu cấu trúc (dữ liệu lưu trữ
dạng bảng quan hệ hai chiều) hoặc dữ liệu không cấu trúc (dữ liệu dạng tập tin hệ thống).
- Cơ chế hoạt động của MapReduce :
MapReduce hoạt động gồm hai quá trình thực hiện hai hàm Map và Reduce. Ý tưởng chính của
MapReduce chính là thực hiện việc chia để trị. - Chia vấn đề cần xử lý (dữ liệu) thành các phần
nhỏ để xử lý. - Xử lý các vấn đề nhỏ đó một cách song song trên các máy tính phân tán hoạt động
độc lập. - Tổng hợp các kết quả thu được để đưa ra kết quả cuối cùng.

- MapReduce được xây dựng từ mô hình lập trình hàm và lập trình song song. Tăng tốc độ thực thi
xử lý dữ liệu là mục đích quan trọng nhất của MapReduce.

(Slide7)

- MapReduce Quy trình này gồm 2 phần:


o -Map: Đầu vào là nút chủ (master node) và sau đó chia nhỏ nó ra thành các vấn đề bé
hơn. Gọi là các split 0, split 1, split 2, …
o - Reduce: Từ các đầu ra trung gian sẽ tổng hợp lại để đưa ra các kết quả cuối cùng cho
vấn đề master. Để xử lý khối dữ liệu bao gồm rất nhiều cặp (key, value), lập trình viên
viết hai hàm Map và Reduce.

(1): Thư viện MapReduce (MR) mà chương trình người dùng (User Program) sử dụng chia các tập tin đầu
vào thành các phần nhỏ. Dung lượng mỗi phần từ 16 megabytes đến 64 megabytes. Và sau đó sao chép
chương trình thành các tiến trình song song chạy trên các máy tính phân tán chứa dữ liệu.
(2): Chương trình điều khiển Master sẽ gán mỗi phần dữ liệu cho một hàm Map và một hàm Reduce. (3)-
(4): worker là phần được gán một hàm Map và Reduce để xử lý, nó sẽ đọc dữ liệu, phân tích cặp (key,
value) ở đầu vào và phân tích thành các cặp trung gian khác được lưu tại vùng nhớ đệm.
(5): Định kỳ, các cặp dữ liệu trung gian sẽ được đẩy đến các worker tương ứng (do master điều khiển) để
hàm reduce xử lý. Các thuật toán sắp xếp, so sánh, phân vùng dữ liệu sẽ được sử dụng tại giai đoạn này.
Các tập dữ liệu trung gian có cùng key sẽ được sắp xếp cùng một nhóm.
(6): Khi tất cả các tác vụ Map và Reduce đã hoàn tất thì sẽ cho ra kết quả cuối cùng của quy trình
MapReduce. Với MapReduce, rất nhiều máy tính trung gian có thể sử dụng để xử lý dữ liệu mà trước kia
không thể. Như vậy toàn bộ quá trình MapReduce có thể hiểu như sau:
- Đọc dữ liệu đầu vào.
- Thực hiện xử lý các phần dữ liệu vào (xử lý từng phần một)

*(Thực hiện hàm Map).


- Trộn và sắp xếp các kết quả thu được từ các máy tính làm sao để được kết quả tiện lợi nhất so với mục
đích của quá trình.
- Tổng hợp các kết quả trung gian thu được từ các máy tính phân tán

*(Thực hiện hàm Reduce).


- Đưa ra kết quả cuối cùng.

Slide8
Mô hình MapReduce áp dụng hàm Map (do người dùng viết) vào từng cặp (key, value) trong khối dữ liệu
vào, chạy rất nhiều phiên bản của hàm Map song song với nhau trên các node của cluster. Sau khi giai
đoạn này kết thúc, kết quả thu được là một tập hợp rất nhiều cặp (key, value) gọi là các cặp (key, value)
trung gian. Các cặp này lại được nhóm một lần nữa theo khóa, như vậy các cặp (key, value) trung gian có
cùng khóa sẽ nằm cùng một nhóm trung gian.

Slide9
Sau đó, hàm Reduce (cũng do người dùng viết) sẽ được áp dụng vào từng nhóm trung gian để tạo thành
kết quả cuối cùng tùy theo yêu cầu đặt ra. Một cách hình thức, hàm Reduce có thể được mô tả như sau:
Trong đó k2 là khóa chung của nhóm trung gian, list(v2) là tập các giá trị trong nhóm và list(v3) là một
danh sách các giá trị trả về của hàm Reduce thuộc kiểu dữ liệu v3. Do hàm Reduce được áp dụng vào
nhiều nhóm trung gian độc lập, chúng lại một lần nữa có thể được chạy song song với nhau

Slide12

You might also like