Bài giảng Lưu trữ và xử lý dữ liệu lớn: Chương 6 - Các kĩ thuật xử lý dữ liệu lớn theo khối (Phần 1)
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Bài giảng Lưu trữ và xử lý dữ liệu lớn: Chương 6 - Các kĩ thuật xử lý dữ liệu lớn theo khối (Phần 1) Chương 6Các kĩ thuật xử lý dữ liệu lớn theo khối - phần 1 MapReduceMô thức xử lý dữ liệu MapReduce• MapReduce là mô thức xử lý dữ liệu mặc định trong Hadoop• MapReduce không phải là ngôn ngữ lập trình, được đề xuất bởi Google• Đặc điểm của MapReduce • Đơn giản (Simplicity) • Linh hoạt (Flexibility) • Khả mở (Scalability) 2A MR job = {Isolated Tasks}n• Mỗi chương trình MapReduce là một công việc (job) được phan rã làm nhiều tác vụ độc lập (task) và các tác vụ này được phân tán trên các nodes khác nhau của cụm để thực thi• Mỗi tác vụ được thực thi độc lập với các tác vụ khác để đạt được tính khả mở • Giảm truyền thông giữa các node máy chủ • Tránh phải thực hiện cơ chế đồng bộ giữa các tác vụ 3Dữ liệu cho MapReduce• MapReduce trong môi trường Hadoop thường làm việc với dữ liệu đa có sẵn trên HDFS• Khi thực thi, mã chương trình MapReduce được gửi tới các node đã có dữ liệu tương ứng Input data: A large file Node 1 Node 2 Node 3 Chunk of input data Chunk of input data Chunk of input data 4Chương trình MapReduce• Lập trình với MapReduce cần cài đặt 2 hàm Map và Reduce • 2 hàm này được thực thi bởi các tiến trình Mapper và Reducer tương ứng.• Trong chương trình MapReduce, dữ liệu được nhìn nhận như là các cặp khóa – giá trị (key – value)• Các hàm Map và Reduce nhận đầu vào và trả về đầu ra các cặp (key – value) Input Splits Intermediate Outputs Final Outputs (K’, (K’’, (K, V) Map Reduce V’) V’’) Pairs Function Function Pairs Pairs 5Ví dụ về MapReduce• Đầu vào: tệp văn bản chứa thông tin về order ID, employee name, and sale amount• Đầu ra : Doanh số bán (sales) theo từng nhân viên (employee) 6 Bước Map• Dữ liệu đầu vào được xử lý bởi nhiều tác vụ Mapping độc lập • Số lượng các tác vụ Mapping được xác định theo lượng dữ liệu đầu vào (~ số chunks) • Mỗi tác vụ Mapping xử lý một phần dữ liệu (chunk) của khối dữ liệu ban đầu • Với mỗi tác vụ Mapping, Mapper xử lý lần lượt từng bản ghi đầu vào • Với mỗi bản ghi đầu vào (key-value), Mapper đưa ra 0 hoặc nhiều bản ghi đầu ra (key – value trung gian)• Trong ví dụ này, tác vụ Mapping đơn giản đọc từng dòng văn bản và đưa ra tên nhân viên và doanh số tương ứng Map phase 7Bước shuffle & sort• Hadoop tự động sắp xếp và gộp đầu ra của các Mappers theo các partitions • Mỗi partitions là đầu vào cho một Reducer Shuffle & sort phase 8Bước Reduce• Reducer nhận dữ liệu đầu vào từ bước shuffle & sort • Tất cả các bản ghi key – value tương ứng với một key được xử lý bởi một Reducer duy nhất • Giống bước Map, Reducer xử lý lần lượt từng key, mỗi lần với toàn bộ các values tương ứng• Trong ví dụ, hàm reduce đơn giản là tính tổng doanh số cho từng nhân viên, đầu ra là các cặp key – value tương ứng với tên nhân viên – doanh số tổng Reduce phase 9Luồng dữ liệu cho ví dụ MapReduce 10Luồng dữ liêu với bài toán Word Count 11Chương trình Word Count thực tế (1) 12Chương trình Word Count thực tế (2) 13MapReduce trên môi trường phân tán 14Vai trò của Job tracker và Task tracker 15MapReduce algorithms(C) https://courses.cs.washington.edu/courses/cse490h/08au/lectures.htm 16Algorithms for MapReduce• Sorting• Searching• TF-IDF• BFS• PageRank• More advanced algorithms 17Sort algorithm• Used as a test of Hadoop’s raw speed• Essentially “IO drag race”• Input • A set of files, one value per line • Mapper key is file name, line number • Mapper value is the contents of the line 18Idea• Takes advantage of reducer properties: (key, value) pairs are processed in order by key; reducers are themselves ordered• Mapper: Identity function for value (k, v) → (v, _)• Reducer: Identity function (k’, _) -> (k’, “”) 19Idea (2) • (key, value) pairs from mappers are sent to a particular reducer based on M1 M2 M3 hash(key) • Must pick the hash function Partition and for your data such that k1 < Shuffle k2 => hash(k1) < hash(k2) R1 R2 ...
Tìm kiếm theo từ khóa liên quan:
Lưu trữ và xử lý dữ liệu lớn Lưu trữ dữ liệu lớn Xử lý dữ liệu lớn Xử lý dữ liệu lớn theo khối Mô thức xử lý dữ liệu MapReduce Dữ liệu cho MapReduce Chương trình MapReduce Luồng dữ liêuGợi ý tài liệu liên quan:
-
PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN - CHƯƠNG 5 MÔ HÌNH DỮ LIỆU QUAN NIỆM
11 trang 68 0 0 -
133 trang 31 0 0
-
Big data và ứng dụng trong bảo mật thông tin
3 trang 30 0 0 -
PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN - CHƯƠNG 3 MÔ HÌNH NGHIỆP VỤ HỆ THỐNG
11 trang 30 0 0 -
Phân loại luồng dữ liệu mạng sử dụng mạng nơ-ron
6 trang 28 0 0 -
12 trang 26 0 0
-
Báo cáo tiểu luận: Quản lý nhà hàng khách sạn
17 trang 25 0 0 -
Quản lý hoạt động bán hàng của công ty Tomato
15 trang 24 0 0 -
PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN - CHƯƠNG 2 XÁC ĐỊNH VÀ PHÂN TÍCH YÊU CẦU HỆ THỐNG
18 trang 24 0 0 -
Bài giảng Lập trình Java 2 - Bài 3: INPUT và OUTPUT trong Java
40 trang 22 0 0 -
PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN - CHƯƠNG 7 MÔ HÌNH TỔ CHỨC XỬ LÝ
6 trang 21 0 0 -
Đề tài : Hệ thống quản lý điểm thi
28 trang 20 0 0 -
PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN - CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG THÔNG TIN
23 trang 19 0 0 -
PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN - CHƯƠNG 8 THIẾT KẾ GIAO DiỆN
11 trang 19 0 0 -
Bài giảng Hệ thống thông tin: Chương 4 - GV. Lê Thị Quỳnh Nga
48 trang 18 0 0 -
PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN - CHƯƠNG 6 mô hình tựa Merise
10 trang 17 0 0 -
Bài giảng Lưu trữ và xử lý dữ liệu lớn: Chương 4 - Cơ sở dữ liệu phi quan hệ NoSQL (Phần 1)
43 trang 17 0 0 -
Bài giảng Lưu trữ và xử lý dữ liệu lớn: Chương 7 - Các kĩ thuật xử lý luồng dữ liệu lớn
75 trang 14 0 0 -
Giáo trình CCNA - Chương 4: Công nghệ WAN và bảo mật
183 trang 14 0 0 -
Phân tích thiết kế hệ thống thông tin quản lý
trang 13 0 0