Lượng dữ liệu được tạo ra đã tăng vọt qua các năm. Các dữ liệu này có ở mọi định dạng và cũng ở tốc độ rất cao. Trước đây, việc quản lý và xử lý thường là thủ công do lượng dữ liệu hạn chế, tuy nhiên, hiện nay không còn như vậy. Với sự gia tăng khối lượng dữ liệu được tạo ra, dữ liệu trở nên khó lưu trữ, xử lý và phân tích hơn, còn gọi là Big Data. Câu hỏi thích hợp tiếp theo là làm thế nào để quản lý Big Data. Và đây là nơi Hadoop phát huy tác dụng, một framework được sử dụng để lưu trữ, xử lý và phân tích Big Data.

Hadoop là framework có khả năng xử lý Big Data

1. Hadoop là gì?

Hadoop, với tư cách là một Big Data framework, cung cấp cho các doanh nghiệp khả năng phân phối lưu trữ dữ liệu, xử lý song song và xử lý dữ liệu với khối lượng lớn hơn, tốc độ cao hơn, đa dạng, giá trị và tính xác thực. HDFS, MapReduce và YARN là ba thành phần chính cho hướng dẫn Hadoop này.

Hadoop HDFS sử dụng các nút tên và nút dữ liệu để lưu trữ dữ liệu mở rộng. MapReduce quản lý các nút này để xử lý và YARN hoạt động như một hệ điều hành cho Hadoop trong việc quản lý tài nguyên cụm.

2. Hệ sinh thái Hadoop

Ảnh minh họa hệ sinh thái Hadoop

Hadoop là tập hợp nhiều công cụ và framework để quản lý, lưu trữ, xử lý hiệu quả và phân tích dữ liệu rộng. HDFS hoạt động như một hệ thống tệp phân tán để lưu trữ các bộ dữ liệu lớn trên phần cứng. YARN là trình quản lý tài nguyên Hadoop để xử lý một cụm nút, phân bổ RAM, bộ nhớ và các tài nguyên khác tùy thuộc vào yêu cầu của ứng dụng.

MapReduce xử lý việc xử lý dữ liệu, Sqoop để truyền dữ liệu từ cơ sở dữ liệu Hadoop hiện tại và các cơ sở dữ liệu bên ngoài khác, Flume cho công cụ thu thập và xử lý dữ liệu, Pig as script framework, Hive để truy vấn thông qua lưu trữ phân tán, Spark để xử lý và phân tích dữ liệu theo thời gian thực , Mahout cho các thuật toán và Apache Ambari để theo dõi thời gian thực.

3. Cài đặt Hadoop trên Ubuntu

Thiết lập cụm Hadoop trên Ubuntu yêu cầu nhiều phần mềm hoạt động cùng nhau. Trước hết, bạn cần tải xuống Oracle VM và ảnh đĩa Linux để bắt đầu với một phần mềm ảo thiết lập một cụm. Bạn phải chọn cẩn thận các cấu hình chính xác cho RAM, cấp phát động cho đĩa cứng, bộ điều hợp cầu nối cho mạng và cài đặt ubuntu.

Sau đó, bạn phải tải xuống và cài đặt Cloudera QuickStart VM để chọn Virtual box  làm tùy chọn. Bây giờ, hãy tải xuống Oracle JDK 1.8 và gói Hadoop tương thích để cài đặt chúng trên hệ thống của bạn. Sau khi hoàn thành, bạn có thể kiểm tra phiên bản Hadoop hiện tại bằng cách sử dụng lệnh (source .bashrc).

4. Kiến trúc Hadoop

Hadoop mang đến nhiều lợi ích cho doanh nghiệp

Kiến trúc Hadoop có bốn thành phần thiết yếu hỗ trợ xử lý song song trong việc lưu trữ dữ liệu khổng lồ bằng hệ thống nút. Hadoop HDFS để lưu trữ dữ liệu trong nhiều máy phụ, Hadoop YARN để quản lý tài nguyên trên một cụm máy, Hadoop MapReduce để xử lý và phân tích dữ liệu phân tán và Zookeeper để đồng bộ hóa hệ thống trên nhiều phần cứng. Kiến trúc Hadoop là cơ sở để hiểu framework Big Data này và tạo ra những hiểu biết có thể hành động để giúp các doanh nghiệp mở rộng quy mô theo đúng hướng.

5. HDFS

Hệ thống tệp phân tán Hadoop (HDFS) cung cấp hỗ trợ toàn diện cho các tệp lớn. HDFS có thể quản lý dữ liệu ở kích thước dữ liệu petabyte và zettabyte. HDFS đi kèm với khả năng ghi hoặc đọc hàng terabyte dữ liệu mỗi giây, phân phối dữ liệu trên nhiều nút trong một thao tác tìm kiếm duy nhất và không tốn phí cấp phép. HDFS có thể hoạt động trên các nền tảng không đồng nhất, hỗ trợ các tập dữ liệu lớn theo lô, quét hàng triệu hàng và có khả năng chịu lỗi rất cao đáng kể.

6. YARN

Được xây dựng đặc biệt để tách công cụ xử lý và chức năng quản lý trong MapReduce, YARN là trình quản lý tài nguyên của Hadoop. YARN chịu trách nhiệm giám sát và quản lý khối lượng công việc, mang đến các tính năng khả dụng trong Hadoop, duy trì môi trường nhiều bên thuê và áp dụng các biện pháp kiểm soát bảo mật trên toàn hệ thống. Cơ sở hạ tầng YARN cung cấp tài nguyên để thực thi các ứng dụng. Khung MapReduce chạy trên YARN để phân chia các chức năng với quản lý tài nguyên và lập lịch công việc để giám sát toàn diện.

7. MapReduce

MapReduce là công cụ xử lý chính của Hadoop. Mô hình lập trình MapReduce dựa trên hai giai đoạn là Mapping and Reducing. Mapping phân loại dữ liệu thành các nút và lớp Reducer tạo ra sản phẩm cuối cùng bằng cách tổng hợp và giảm đầu ra. Nó có thể xử lý và tính toán khối lượng dữ liệu lớn đáng kể. MapReduce giúp các doanh nghiệp xác định chi phí cho sản phẩm của họ để thu được lợi nhuận, dự đoán thời tiết, chủ đề thịnh hành trên twitter, số lần nhấp chuột trên web, mô hình quảng cáo và khám phá các cơ hội mới.

8. Pig

Trong hướng dẫn Hadoop, Pig là nền tảng tập lệnh hàng đầu để xử lý và phân tích Big Data. Nó có thể sử dụng dữ liệu có cấu trúc và không có cấu trúc để có được thông tin chi tiết hữu ích và sau đó lưu trữ kết quả trong HDFS. Pig có hai thành phần thiết yếu; đầu tiên, một ngôn ngữ script Pig Latin cùng với một công cụ thời gian chạy để xử lý và phân tích các chương trình MapReduce. Đầu tiên, Pig hoạt động theo ba giai đoạn bằng cách tải dữ liệu và viết tập lệnh, sau đó là hoạt động của Pig và sau đó là thực hiện kế hoạch. Pig cung cấp hỗ trợ cho mô hình dữ liệu dưới dạng Atom, Tuple, Bag và bản đồ ở các dạng khác nhau.

9. Hive

Hoạt động như một phần mềm Data warehouse, Hive sử dụng ngôn ngữ giống như SQL, HiveQL, để truy vấn thông qua cơ sở dữ liệu phân tán. Chủ yếu có hai loại dữ liệu Hive, đầu tiên, dưới dạng các kiểu dữ liệu Nguyên thủy với các kiểu dữ liệu số, chuỗi, ngày/giờ và các loại dữ liệu khác, và các kiểu dữ liệu phức tạp thứ cấp bao gồm mảng, bản đồ, cấu trúc và đơn vị. Tương tự, Hive có hai điểm khác biệt với Local Mode và Mapreduce Mode. Trước tiên, kiến trúc Hive thực hiện một trình biên dịch để kiểm tra và phân tích, sau đó tối ưu hóa với các tác vụ và trình thực thi MapReduce và HDFS để thực hiện truy vấn. Trong phần hướng dẫn Hadoop này, mô hình Hive Data bao gồm Tables, Partitions, and Buckets.

10. HBase

Được mô phỏng theo Bigtable của Google, HBase là một hệ thống lưu trữ hoàn chỉnh được xây dựng với mục đích chính là quản lý hàng tỷ hàng và hàng triệu cột trên phần cứng cộng đồng. HBase cho phép dữ liệu lưu trữ ở dạng bảng, do đó giúp cho việc đọc và ghi nhanh trở nên đặc biệt dễ dàng. HBase không sử dụng lược đồ cố định và có thể hoạt động với cả luồng dữ liệu có cấu trúc và bán cấu trúc. Vùng và Zooker là hai thành phần kiến trúc chính của HBase. HBase đã được triển khai trên một số tổ chức toàn cầu, bao gồm Yahoo, Twitter, Facebook và Abode.

11. Sqoop

Sqoop hoạt động như một công cụ hoặc phương tiện để tải dữ liệu từ bất kỳ hệ thống quản lý cơ sở dữ liệu quan hệ bên ngoài (RDBMS) nào vào hệ thống Hadoop, sau đó tiếp tục xuất sang RDBMS, tương ứng. Sqoop đi kèm với các tính năng độc quyền như nhập hoặc xuất song song, nhập kết quả truy vấn SQL, trình kết nối giữa các RDBMS, tích hợp bảo mật Kerberos và bổ sung dưới dạng tải đầy đủ và tăng dần. Kiến trúc Sqoop cung cấp khả năng nhập và xuất dễ dàng bằng cách sử dụng các lệnh và khá đơn giản để triển khai.

Trên đây là những điều cơ bản mà bạn cần biết về Hadoop. Mong rằng các thông tin này sẽ hữu ích với bạn đọc. Đừng quên đón xem các bài viết mới nhất sẽ được cập nhật tại BAC's Blog.

Nguồn tham khảo:

https://www.simplilearn.com/

Nhu cầu đào tạo doanh nghiệp

BAC là đơn vị đào tạo BA đầu tiên tại Việt Nam. Đối tác chính thức của IIBA quốc tế. Ngoài các khóa học public, BAC còn có các khóa học in house dành riêng cho từng doanh nghiệp. Chương trình được thiết kế riêng theo yêu cầu của doanh nghiệp, giúp doanh nghiệp giải quyết những khó khăn và tư vấn phát triển.
 
 

CÁC KHOÁ HỌC BUSINESS ANALYST BACs.VN DÀNH CHO BẠN

Khoá học Online:

Khoá học Offline:

Tại Tp.HCM:

Tại Hà Nội:

Tham khảo lịch khai giảng TẤT CẢ các khóa học mới nhất

Ban biên tập nội dung - BAC