Mô hình luồng dữ liệu 3 5-

Một phần của tài liệu hệ cơ sở dữ liệu phân tán và ứng dụng trong máy tìm kiếm (Trang 37 - 39)

Dữ liệu đi lần lượt qua các bộ sau:

- Một trình đọc đầu vào (tương ứng trong hình là khối InputFormat) - Một chức năng Map (khối map)

- 36 - - Một chức năng phân vùng (khối Partitioner) - Một chức năng reduce (khối reduce)

- Một trình ghi đầu ra (OutputFormat)

Hình 7: Sơ đồ luồng dữ liệu

Trình đọc đầu vào: chia dữ liệu vào thành các mảnh từ 16M đến 128MB và

framework sẽ gán mỗi phần cho mỗi chức năng Map. Bộ đọc đầu vào đọc dữ liệu từ các kho ổn định và sinh ra các cặp khóa/ giá trị.

- 37 -

Một ví dụ phổ biến là đọc một thư mục đầy đủ của tập tin văn bản và trả lại từng dòng như là một bản ghi.

Chức năng Map: mỗi chức năng Map lấy một loạt các cặp khóa/dữ liệu, xử lý từng

cặp, sinh ra 0 hoặc nhiều hơn các cặp khóa/dữ liệu output. Các kiểu đầu vào và đầu ra của map có thể khác nhau từng cặp một .

Nếu ứng dụng đang đếm từ, chức năng Map sẽ phá vỡ đường tới các từ và ở đầu ra thì từ được coi như khóa và „1‟ là giá trị.

Chức năng phân vùng: Đầu ra của tất cả các Mapper được giao cho một Reducer

cụ thể bởi chức năng phân vùng của ứng dụng. Chức năng phân vùng được nhận khóa và số reducer và trả lại chỉ số mong muốn được giảm thiểu.

Chức năng reduce: Framework gọi chức năng reduce của ứng dụng một lần cho

mỗi khóa duy nhất theo thứ tự đã sắp xếp. Việc giảm thiểu có thể được lặp lại qua các giá trị được liên kết với khóa đó 0 hoặc nhiều hơn giá trị đầu ra.

Trình ghi đầu ra: ghỉ kết quả output tới các kho lưu trữ ổn định, thường là các hệ

thống file phân tán, ví dụ như Google File System.

Một phần của tài liệu hệ cơ sở dữ liệu phân tán và ứng dụng trong máy tìm kiếm (Trang 37 - 39)

Tải bản đầy đủ (PDF)

(59 trang)