Hadoop là gì?
Apache Hadoop là một khung nguồn mở dùng để lưu trữ và xử lý hiệu quả các bộ dữ liệu lớn có kích thước từ hàng gigabyte đến hàng petabyte dữ liệu. Thay vì sử dụng một máy tính lớn để lưu trữ và xử lý dữ liệu, Hadoop cho phép tạo nhóm nhiều máy tính để phân tích các bộ dữ liệu lớn đồng thời một cách nhanh chóng hơn.
Bốn mô-đun chính của Hadoop là gì?
Hadoop bao gồm bốn mô-đun chính:
- Hệ thống tệp phân tán Hadoop (HDFS) – Một hệ thống tệp phân tán chạy trên phần cứng tiêu chuẩn hoặc cấu hình thấp. Ngoài khả năng chịu lỗi cao và hỗ trợ gốc các tập dữ liệu lớn, HDFS còn cung cấp thông lượng dữ liệu tốt hơn các hệ thống tệp truyền thống.
- Yet Another Resource Negotiator (YARN) – Quản lý và giám sát các nút cụm và mức sử dụng tài nguyên. YARN lên lịch cho các công việc và tác vụ.
- MapReduce – Một khung giúp các chương trình thực hiện điện toán song song trên dữ liệu. Tác vụ ánh xạ lấy dữ liệu đầu vào và chuyển đổi thành tập dữ liệu có thể được điện toán theo các cặp giá trị chính. Dữ liệu đầu ra của tác vụ ánh xạ được xử lý bởi các tác vụ giảm nhằm tổng hợp dữ liệu đầu ra và cung cấp kết quả mong muốn.
- Hadoop Common – Cung cấp các thư viện Java phổ biến có thể được sử dụng trên tất cả các mô-đun.
Hadoop hoạt động như thế nào?
Hadoop giúp dễ dàng sử dụng toàn bộ dung lượng lưu trữ và công suất xử lý trong các máy chủ cụm và thực hiện các quy trình phân tán đối với lượng dữ liệu khổng lồ. Hadoop cung cấp các khối dựng để xây dựng các dịch vụ và ứng dụng khác trên đó.
Các ứng dụng thu thập dữ liệu ở các định dạng khác nhau có thể đặt dữ liệu vào cụm Hadoop bằng cách sử dụng một thao tác API để kết nối với NameNode. NameNode theo dõi cấu trúc thư mục tệp và vị trí của “đoạn” cho từng tệp, được sao chép trên các DataNode. Để thực hiện một tác vụ truy vấn dữ liệu, hãy cung cấp một tác vụ MapReduce được tạo thành từ nhiều tác vụ ánh xạ và giảm tiến hành chạy trên dữ liệu trong HDFS trải rộng trên các DataNode. Các tác vụ ánh xạ chạy ở từng nút trên các tệp đầu vào được cung cấp và các trình giảm chạy để tổng hợp và sắp xếp dữ liệu đầu ra cuối cùng.
Hệ sinh thái Hadoop đã phát triển như thế nào?
Hệ sinh thái Hadoop đã phát triển đáng kể trong những năm qua nhờ khả năng mở rộng của mình. Ngày nay, hệ sinh thái Hadoop bao gồm nhiều công cụ và ứng dụng để giúp thu thập, lưu trữ, xử lý, phân tích và quản lý dữ liệu lớn. Một số ứng dụng phổ biến nhất là:
- Spark – Một hệ thống xử lý phân tán nguồn mở thường được sử dụng cho các khối lượng công việc dữ liệu lớn. Apache Spark sử dụng bộ nhớ đệm nằm trong bộ nhớ và việc thực thi được tối ưu hóa để có hiệu năng nhanh và hỗ trợ xử lý hàng loạt chung, phân tích luồng dữ liệu, máy học, cơ sở dữ liệu đồ thị và các truy vấn đặc biệt.
- Presto – Một công cụ truy vấn SQL phân tán nguồn mở được tối ưu hóa cho việc phân tích dữ liệu đặc biệt với độ trễ thấp. Công cụ này hỗ trợ chuẩn ANSI SQL, bao gồm các truy vấn phức tạp, tổng hợp, nối và các hàm cửa sổ. Presto có thể xử lý dữ liệu từ nhiều nguồn dữ liệu, trong đó có Hệ thống tệp phân tán Hadoop (HDFS) và Amazon S3.
- Hive – Cho phép người dùng tận dụng Hadoop MapReduce bằng cách sử dụng giao diện SQL, cho phép phân tích ở quy mô lớn, bên cạnh chức năng lưu kho dữ liệu phân tán, chịu được lỗi.
- HBase – Một cơ sở dữ liệu nguồn mở, phi quan hệ, có lập phiên bản, chạy trên Amazon S3 (sử dụng EMRFS) hoặc Hệ thống tệp phân tán Hadoop (HDFS). HBase là một kho dữ liệu lớn phân tán, có khả năng mở rộng quy mô cực kỳ lớn, được xây dựng để truy cập ngẫu nhiên, nhất quán nghiêm ngặt, theo thời gian thực vào các bảng có hàng tỷ hàng và hàng triệu cột.
- Zeppelin – Một sổ tay tương tác cho phép khám phá dữ liệu tương tác.
AWS có thể hỗ trợ các yêu cầu về Hadoop của bạn như thế nào?
Amazon EMR là dịch vụ có quản lý, cho phép bạn xử lý và phân tích các tập dữ liệu lớn bằng cách sử dụng phiên bản khung xử lý dữ liệu lớn mới nhất, chẳng hạn như Apache Hadoop, Spark, HBase và Presto, trên các cụm có khả năng tùy chỉnh toàn phần.
- Dễ dàng sử dụng: Bạn có thể chạy cụm Amazon EMR trong vài phút. Bạn không cần phải lo lắng về cung cấp nút, thiết lập cụm, cấu hình, Hadoop hoặc tinh chỉnh cụm.
- Chi phí thấp: Định giá của Amazon EMR rất đơn giản và dễ dự đoán: Bạn thanh toán phí theo giờ cho mỗi giờ phiên bản mà bạn sử dụng và bạn có thể tận dụng các phiên bản Dùng ngay để tiết kiệm được nhiều hơn.
- Linh động: Với Amazon EMR, bạn có thể cung cấp một, hàng trăm hoặc hàng nghìn phiên bản điện toán để xử lý dữ liệu ở bất kỳ quy mô nào.
- Tạm thời: Bạn có thể sử dụng EMRFS để chạy các cụm theo nhu cầu dựa trên dữ liệu HDFS được lưu trữ có duy trì trong Amazon S3. Khi tác vụ kết thúc, bạn có thể tắt một cụm và lưu dữ liệu trong Amazon S3. Bạn chỉ thanh toán cho thời gian điện toán mà chạy cụm.
- Bảo mật: Amazon EMR sử dụng tất cả các đặc điểm chung về bảo mật của các dịch vụ AWS:
- Các vai trò và chính sách dùng để quản lý quyền của tính năng Quản lý danh tính và truy cập (IAM).
- Mã hóa trong quá trình truyền và ở trạng thái lưu trữ giúp bạn bảo vệ dữ liệu của mình và đáp ứng được các tiêu chuẩn về tuân thủ, chẳng hạn như HIPAA.
- Nhóm bảo mật có chức năng kiểm soát lưu lượng mạng vào và ra các nút cụm của bạn.
- AWS CloudTrail: Kiểm tra tất cả các lệnh gọi PI của Amazon EMR được thực hiện trong tài khoản của bạn để cung cấp phân tích bảo mật, theo dõi sự thay đổi tài nguyên và kiểm tra tính tuân thủ.
Bắt đầu sử dụng Hadoop trên AWS bằng cách tạo tài khoản ngay hôm nay.