Hadoop là gì?Khung công tác mã nguồn mở cho Big Data

813
19-11-2024
Hadoop là gì?Khung công tác mã nguồn mở cho Big Data

Apache Hadoop là một khung công tác mã nguồn mở, được sử dụng để lưu trữ và xử lý hiệu quả các tập dữ liệu lớn với kích thước từ gigabyte đến petabyte. Thay vì sử dụng một máy tính lớn, Hadoop cho phép phân cụm nhiều máy tính để phân tích các tập dữ liệu khổng lồ song song nhanh hơn.

Hadoop là gì 

Apache Hadoop là một khung công tác mã nguồn mở, được sử dụng để lưu trữ và xử lý hiệu quả các tập dữ liệu lớn với kích thước từ gigabyte đến petabyte. 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 phân cụm nhiều máy tính để phân tích các tập dữ liệu khổng lồ song song nhanh hơn.

Module chính của Hadoop

Hadoop bao gồm bốn module 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ấp thấp. HDFS cung cấp thông lượng dữ liệu tốt hơn so với các hệ thống tệp truyền thống, bên cạnh khả năng chịu lỗi cao và hỗ trợ nguyên bản các tập dữ liệu lớn.
  • 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. Nó lên lịch cho các job và task.
  • MapReduce: Một khung công tác giúp các chương trình thực hiện tính toán song song trên dữ liệu. Nhiệm vụ map nhận dữ liệu đầu vào và chuyển đổi nó thành một tập dữ liệu có thể được tính toán theo các cặp key-value. Đầu ra của nhiệm vụ map được sử dụng bởi các nhiệm vụ reduce để tổng hợp đầ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 module.

Hadoop hoạt động như thế nào?

Hadoop giúp việc sử dụng tất cả dung lượng lưu trữ và xử lý trong các máy chủ cụm dễ dàng hơn và thực thi 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 xây dựng mà trên đó các dịch vụ và ứng dụng khác có thể được xây dựng.

Hadoop hoạt động như thế nào?

Hadoop hoạt động như thế nào?

Các ứng dụng thu thập dữ liệu ở nhiều định dạng khác nhau có thể đưa dữ liệu vào cụm Hadoop bằng cách sử dụng 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 “các khối” cho mỗi tệp, được sao chép trên các DataNode. Để chạy một job truy vấn dữ liệu, hãy cung cấp một job MapReduce được tạo thành từ nhiều task map và reduce chạy dựa trên dữ liệu trong HDFS trải rộng trên các DataNode. Các task map chạy trên mỗi nút dựa trên các tệp đầu vào được cung cấp và các reducer chạy để tổng hợp và sắp xếp đầ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 do khả năng mở rộng của nó. 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, mã nguồn mở thường được sử dụng cho khối lượng công việc dữ liệu lớn. Apache Spark sử dụng bộ nhớ đệm trong bộ nhớ và thực thi được tối ưu hóa để có hiệu suất nhanh và hỗ trợ xử lý hàng loạt chung, phân tích luồng, học máy, cơ sở dữ liệu đồ thị và các truy vấn ad hoc.
  • Presto: Một công cụ truy vấn SQL phân tán, mã nguồn mở được tối ưu hóa cho phân tích dữ liệu ad-hoc, độ trễ thấp. Nó hỗ trợ tiêu chuẩn ANSI SQL, bao gồm các truy vấn phức tạp, tổng hợp, kết 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 bao gồm Hệ thống tệp phân tán Hadoop (HDFS).
  • Hive: Cho phép người dùng tận dụng Hadoop MapReduce bằng giao diện SQL, cho phép phân tích ở quy mô lớn, bên cạnh kho dữ liệu phân tán và chịu lỗi.
  • HBase: Một cơ sở dữ liệu phi quan hệ, phiên bản, mã nguồn mở 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 lớn được xây dựng để truy cập ngẫu nhiên, hoàn toàn nhất quán, theo thời gian thực cho các bảng có hàng tỷ hàng và hàng triệu cột.
  • Zeppelin: Một notebook tương tác cho phép khám phá dữ liệu tương tác.

SHARE