Video: Video dùng hadoop mapreduce phân tích mã độc 2025
Apache Hadoop là một nền tảng phần mềm mã nguồn mở miễn phí để viết và chạy các ứng dụng xử lý một lượng lớn dữ liệu để phân tích tiên đoán. Nó cho phép xử lý song song phân tán các bộ dữ liệu lớn được tạo ra từ nhiều nguồn khác nhau. Về cơ bản, đó là một công cụ mạnh để lưu trữ và xử lý dữ liệu lớn.
Hadoop lưu trữ bất kỳ loại dữ liệu nào, có cấu trúc hoặc không có cấu trúc, từ các nguồn khác nhau - và tổng hợp dữ liệu đó theo bất kỳ cách nào bạn muốn. Hadoop xử lý dữ liệu không đồng nhất bằng cách sử dụng xử lý song song phân tán - làm cho nó trở thành một khuôn khổ rất hiệu quả để sử dụng trong phần mềm phân tích xử lý dữ liệu lớn. Không có gì ngạc nhiên khi một số công ty lớn đang áp dụng Hadoop, bao gồm Facebook, Yahoo!, Google, IBM, Twitter và LinkedIn.
Mặt khác, Hadoop làm cho công việc đó trở nên liền mạch - với một phần nhỏ của chi phí - cho phép các công ty tìm thấy những hiểu biết có giá trị trong số liệu phong phú họ thu được và đang tích lũy.Bạn không phải xây dựng một lược đồ trước khi bạn có thể hiểu được dữ liệu của bạn; Hadoop cho phép bạn truy vấn dữ liệu đó ở định dạng ban đầu.
Hadoop sử dụng hai thành phần chính (tiểu dự án) để thực hiện công việc của mình: MapReduce và Hadoop Distributed File System. Hai thành phần này hoạt động hợp tác:
MapReduce: Việc triển khai MapReduce của Hadoop dựa trên nghiên cứu của Google về các mô hình lập trình để xử lý các tập dữ liệu lớn bằng cách chia chúng thành những khối nhỏ các tác vụ. MapReduce sử dụng thuật toán phân tán, trên một nhóm các máy tính trong một cluster, để xử lý các tập dữ liệu lớn.Nó bao gồm hai chức năng:
Chức năng
-
Bản đồ ()
-
nằm trên nút chủ (máy tính nối mạng). Nó phân chia truy vấn đầu vào hoặc nhiệm vụ thành các nhiệm vụ phụ nhỏ hơn, sau đó phân phối cho nút công nhân để xử lý các nhiệm vụ nhỏ hơn và vượt qua câu trả lời về nút chính. Các nhiệm vụ phụ được chạy song song trên nhiều máy tính. Hàm Giảm () thu thập kết quả của tất cả các nhiệm vụ phụ và kết hợp chúng để tạo ra một kết quả cuối cùng tổng hợp - mà nó trả về như là câu trả lời cho truy vấn lớn ban đầu.
-
Hệ thống tệp phân phối Hadoop (HDFS) : HDFS sao chép các khối dữ liệu nằm trên các máy tính khác trong trung tâm dữ liệu của bạn (để đảm bảo độ tin cậy) và quản lý việc chuyển dữ liệu đến các phần khác nhau của hệ thống phân phối của bạn. Xem xét cơ sở dữ liệu của hai tỷ người, và giả sử bạn muốn tính toán số bạn bè xã hội của ông X và sắp xếp chúng theo vị trí địa lý của họ. Đó là một trật tự cao. Dữ liệu cho hai tỷ người có thể bắt nguồn từ nhiều nguồn khác nhau như mạng xã hội, danh sách địa chỉ liên hệ qua e-mail, bài đăng, tweet, lịch sử duyệt web - và đó chỉ dành cho người mở. Hadoop có thể tổng hợp khối lượng dữ liệu khổng lồ, đa dạng này để bạn có thể điều tra nó bằng truy vấn đơn giản.
-
-
Bạn sẽ sử dụng các khả năng lập trình MapReduce để giải quyết truy vấn này. Định nghĩa Bản đồ và Giảm thủ tục thậm chí làm cho bộ dữ liệu lớn này có thể quản lý được. Sử dụng các công cụ mà Hadoop cung cấp, bạn sẽ tạo ra một sự thực hiện MapReduce có thể tính toán như là hai nhiệm vụ phụ: Tính số lượng trung bình các bạn xã hội của ông X.
Sắp xếp các bạn của Mr. X theo vị trí địa lý.
Chương trình triển khai MapReduce của bạn sẽ chạy các nhiệm vụ phụ song song, quản lý truyền thông giữa các nhiệm vụ phụ và tổng hợp các kết quả. Trong số hai tỷ người, bạn sẽ biết bạn bè trực tuyến của Mr. X là ai.
Hadoop cung cấp một bộ xử lý Map; (những) người mà bạn chọn sẽ phụ thuộc vào cơ sở hạ tầng của bạn.
-
Mỗi bộ xử lý của bạn sẽ xử lý một số lượng hồ sơ nhất định. Giả sử rằng mỗi bộ xử lý xử lý một triệu bản ghi dữ liệu. Mỗi bộ xử lý thực hiện một thủ tục Map để tạo ra nhiều bản ghi các cặp khóa-giá trị nơi
-
G
(key) là vị trí địa lý của một người (quốc gia) và
N
(value) là số địa chỉ liên lạc của người đó. Giả sử mỗi bộ xử lý Bản đồ tạo ra nhiều cặp mẫu, như sau: Bản đồ bộ xử lý số 1: Bản đồ bộ xử lý số 2: Bản đồ bộ xử lý số 3:
Bản đồ bộ xử lý số 4:
Bản đồ bộ vi xử lý # 5:
Bản đồ bộ xử lý số 6:
Trong giai đoạn Giảm, Hadoop chỉ định một nhiệm vụ cho một số bộ xử lý nhất định: Thực hiện các Quy trình Giảm tổng hợp các giá trị của cùng một phím để sản xuất một kết quả cuối cùng. Đối với ví dụ này, việc thực hiện Giảm sẽ tổng hợp các giá trị cho mỗi vị trí chính - vị trí địa lý. Vì vậy, sau giai đoạn Bản đồ, giai đoạn Giảm được tạo ra những điều sau:
------ ----
Rõ ràng, ôngX là một người nổi tiếng - nhưng đây là một ví dụ rất đơn giản về cách MapReduce có thể được sử dụng. Hãy tưởng tượng bạn đang xử lý một tập dữ liệu lớn mà bạn muốn thực hiện các hoạt động phức tạp như tập hợp hàng tỷ tài liệu mà hoạt động và dữ liệu chỉ là quá lớn đối với một máy duy nhất để xử lý. Hadoop là công cụ để xem xét.