Hadoop xử lý khối lượng lớn dữ liệu như thế nào?

Hadoop xử lý khối lượng lớn dữ liệu như thế nào?

Đã đăng vào thg 10 25, 2016 6:50 SA 5 phút đọc

1. Big data là gì?

Với sự phát triển không ngừng của mang xã hội, sự ra đời của các thiết bị mới tiên tiến, mọi hoạt động thường ngày đang dần được internet hóa. Dẫn đến lượng thông tin ngày càng đa dạng đã đặt ra thách thức cho các nền công nghiệp khác nhau phải tìm một phương pháp khác để xử lý dữ liệu. Big Data có thể hiểu là “Dữ liệu lớn” – sở dĩ có tên gọi là Big data không đơn giản đó nói về khối lượng dữ liệu, còn có 2 yếu tố khác là tốc độ dữ liệu và tính đa dạng của dữ liệu.

Hadoop xử lý khối lượng lớn dữ liệu như thế nào?

Những nguồn thông tin chính tạo ra Big data:

  • Dữ liệu từ các kênh truyền thông xã hội: Facebook, Instagram, Twiter..
  • Dữ liệu giao dịch chứng khoán
  • Dữ liệu điện lực
  • Dữ liệu giao thông
  • Các dữ liệu tìm kiếm

Giải pháp nào cho Big data?

  • Big Data lớn về số lượng, dữ liệu phức tạp có thể có cấu trúc hoặc không có cấu trúc (noSQL). Những yếu tố này làm cho Big Data khó bắt giữ lại, khai phá và quản lý nếu dùng các phương thức truyền thống.

Ví dụ bạn có một con server, với lượng data khổng lồ, bạn chỉ có thể nghĩ đến phương án tăng RAM, tăng CPU. Nhưng số lượng đó cũng có giới hạn. Vậy thì phải làm sao?

Hadoop ra đời để giải quyết vấn đề đó

Hadoop xử lý khối lượng lớn dữ liệu như thế nào?

2. Hadoop là gì?

Năm 2005, Hadoop được tạo ra bởi Doug Cutting và Mike Cafarella khi làm việc tại Yahoo. Doug Cutting đặt tên Hadoop theo con voi đồ chơi của con trai mình

  • Là Framework cho phép phát triển các ứng dụng phân tán.
  • Hadoop hiện thực mô hình MapReduce, mô hình mà ứng dụng sẽ được chia nhỏ ra thành nhiều phân đoạn khác nhau được chạy song song trên nhiều node khác nhau
  • Viết bằng Java tuy nhiên hỗ trợ được các ngôn ngữ khác như C++, Python, Perl bằng cơ chế streaming.
  • Là một ứng dụng Linux-based (chỉ chạy trên môi trường Linux).

3. Vấn đề mà Hadoop giải quyết

  • Làm việc với khối lượng dữ liệu khổng lồ (tính bằng Petabyte).
  • Xử lý trong môi trường phân tán, dữ liệu lưu trữ ở nhiều phần cứng khác nhau, yêu cầu xử lý đồng bộ
  • Các lỗi xuất hiện thường xuyên.
  • Băng thông giữa các phần cứng vật lý chứa dữ liệu phân tán có giới hạn.

4. Hướng giải quyết của Hadoop

Hadoop xử lý khối lượng lớn dữ liệu như thế nào?

  • Quản lý file phân tán: Hadoop Distributed File System (HDFS) sẽ chia nhỏ dữ liệu ra thành nhiều phần. Dữ liệu được quản lý một cách có hệ thống.

Hadoop xử lý khối lượng lớn dữ liệu như thế nào?

  • MapReduce là mô hình tổ chức của Hadoop, MapReduce sẽ chia nhỏ task ra thành nhiều phần và xử lý song song trên các Node CPU khác nhau, máy chủ là Master Node

5. Các điểm thuận lợi khi dùng Hadoop

  • Robus and Scalable – Có thể thêm node mới và thay đổi chúng khi cần.
  • Affordable and Cost Effective – Không cần phần cứng đặc biệt để chạy Hadoop.
  • Adaptive and Flexible – Hadoop được xây dựng với tiêu chí xử lý dữ liệu có cấu trúc và không cấu trúc.
  • Highly Available and Fault Tolerant – Khi 1 node lỗi, nền tảng Hadoop tự động chuyển sang node khác.
  • Một điểm cộng khác cho Hadoop nó là mã nguồn mở, có thể tương thích với tất cả platforms

Tóm lại, Big Data đã và đang được nghiên cứu và ứng dụng rộng rãi trong nhiều lĩnh vực, từ các ông lớn trong lĩnh vực công nghệ như Google, Facebook, Twitter... cũng như các công ty trong nước và ngoài nước. Big Data là thách thức đặt ra cho các tổ chức, doanh nghiệp trong thời đại số hiện nay. Một khi làm chủ được dữ liệu lớn thì họ sẽ có cơ hội thành công lớn hơn trong bối cảnh cạnh tranh ngày nay, thế giới thì sẽ được hưởng lợi hơn từ việc trích xuất thông tin một cách chính xác hơn, hữu ích hơn với chi phí thấp hơn. Trong tương lai, chúng ta sẽ còn tiếp tục chứng kiến sự tăng trưởng của Big Data.

Tham khảo: https://www.tutorialspoint.com/hadoop/

All rights reserved

Big Data đang là một trong những lĩnh vực màu mỡ nhất của ngành công nghệ. Khối lượng dữ liệu khổng lồ mà Big Data mang đến đóng vai trò vô cùng to lớn. Big Data có thể giúp dự đoán thị trường, phân tích nhu cầu, xu hướng, dự đoán dịch bệnh hay thậm chí là xác định điều kiện giao thông tức thời. Vì mang trong mình số lượng thông tin lớn nên Big Data không thể được xử lý bằng những công cụ truyền thống không. Ngành công nghệ sẽ sử dụng các công cụ phân tích Big Data chuyên dụng để xử lý lĩnh vực khó nhằn này. Một trong số đó là Hadoop. Vậy bạn đã biết Hadoop là gì hay chưa? Theo dõi ngay bài viết sau.

Nội dung

  • 1 Tìm hiểu Apache Hadoop là gì?
  • 2 Kiến trúc của Hadoop là gì?
    • 2.1 Hadoop Common
    • 2.2 Hadoop YARN – Hadoop là gì?
    • 2.3 Hadoop Distributed File System (HDFS)
    • 2.4 Hadoop MapReduce
  • 3 Cách hoạt động của Hadoop là gì?
    • 3.1 Giai đoạn 1
    • 3.2 Giai đoạn 2
    • 3.3 Giai đoạn 3
  • 4 Ưu điểm của Hadoop là gì?
  • 5 Kết luận
  • 6 Học Viện Công Nghệ Teky được chọn là địa chỉ học lập trình uy tín nhất cho trẻ 
      • 6.0.1 Đây là chương trình không chỉ trang bị kiến thức lập trình mà còn rèn luyện nhóm kỹ năng 4Cs. Trẻ sẽ được:
    • 6.1 Liên hệ ngay học viện công nghệ sáng tạo TEKY để được tư vấn khóa học:

Tìm hiểu Apache Hadoop là gì?

Hadoop là một dạng framework, cụ thể là Apache. Apache Hadoop là một mã nguồn mở cho phép sử dụng các distributed processing (ứng dụng phân tán) để quản lý và lưu trữ những tệp dữ liệu lớn. Hadoop áp dụng mô hình MapReduce trong hoạt động xử lý Big Data.

Vậy MapReduce là gì? MapReduce vốn là một nền tảng được Google tạo ra để quản lý dữ liệu của họ. Nhiệm vụ của MapReduce là tiếp nhận một khối lượng dữ liệu lớn. Sau đó sẽ tiến hành tách các dữ liệu này ra thành những phần nhỏ theo một tiêu chuẩn nào đó. Từ đó sẽ sắp xếp, trích xuất các tệp dữ liệu con mới phù hợp với yêu cầu của người dùng. Đây cũng là cách mà thanh tìm kiếm của Google hoạt động trong khi chúng ta sử dụng hằng ngày.

Hadoop xử lý khối lượng lớn dữ liệu như thế nào?

Map Reduce là gì?

Còn bản thân Hadoop cũng là một dạng công cụ mẫu giúp phân tán dữ liệu theo mô hình như vậy. Cho nên MapReduce được sử dụng như một nền tảng lý tưởng của Hadoop. Về cơ bản, Hadoop sẽ giúp người dùng tổng hợp và xử lý một lượng thông tin lớn trong thời gian ngắn bằng MapReduce.

Còn với chức năng lưu trữ, Hadoop sẽ dùng HDFS. HDFS là gì? Nó được biết đến như một kho thông tin có độ truy cập nhạy và chi phí thấp.

Hadoop được phát triển nên từ ngôn ngữ Java. Tuy nhiên nó vẫn hỗ trợ một số ngôn ngữ lập trình khác như C++, Python hay Pearl nhờ cơ chế streaming.

Kiến trúc của Hadoop là gì?

Vì sử dụng cùng lúc MapReduce và HDFS nên Hadoop sẽ có cấu trúc của cả 2 loại này. Hadoop kế thừa cấu trúc node từ HDFS. Cụ thể, một cụm Hadoop sẽ bao gồm 1 master node (node chủ) và rất nhiều worker/slave node (node nhân viên). Một cụm cũng bao gồm 2 phần là MapReduce layer và HDFS layer. Master node bao gồm JobTracker, TaskTracker, NameNode, và DataNode. Còn Worker/Slave node bao gồm DataNode và TaskTracker. Trong một số trường hợp, Worker/Slave node được dùng để làm dữ liệu hoặc tính toán.

Hadoop Apache bao gồm 4 module khác nhau. Sau đây sẽ là giới thiệu chi tiết về từng loại.

Hadoop Common

Hadoop Common được dùng như một thư viện lưu trữ các tiện ích của Java. Tại đây có những tính năng cần thiết để các modules khác sử dụng. Những thư viện này mang đến hệ thống file và lớp OS trừu tượng. Song song với đó, nó cũng lưu trữ các mã lệnh của Java để thực hiện quá trình khởi động Hadoop.

Hadoop xử lý khối lượng lớn dữ liệu như thế nào?

Tìm hiểu Hadoop là gì?

Hadoop YARN – Hadoop là gì?

Phần này được dùng như một framework. Nó hỗ trợ hoạt động quản lý thư viện tài nguyên của các cluster và thực hiện chạy phân tích tiến trình.

Hiểu rõ cách hoạt động của các modules sẽ giúp bạn nắm rõ khái niệm Hadoop là gì.

Hadoop Distributed File System (HDFS)

Một trong những vấn đề lớn nhất của các hệ thống phân tích Big Data là quá tải. Không phải hệ thống nào cũng đủ khỏe để có thể tiếp nhận một lượng thông tin khổng lồ như vậy. Chính vì thế, nhiệm vụ của Hadoop Distributed File System là phân tán cung cấp truy cập thông lượng cao giúp cho ứng dụng chủ. Cụ thể, khi HDFS nhận được một tệp tin, nó sẽ tự động chia file đó ra thành nhiều phần nhỏ. Các mảnh nhỏ này được nhân lên nhiều lần và chia ra lưu trữ tại các máy chủ khác nhau để phân tán sức nặng mà dữ liệu tạo nên.

Như đã nói ở trên, HDFS sử dụng cấu trúc master node và worker/slave node. Trong khi master node quản lý các file metadata thì worker/slave node chịu trách nhiệm lưu trữ dữ liệu. Chính vì thế nên worker/slave node cũng được gọi là data node. Một Data node sẽ chứa nhiều khối được phân nhỏ của tệp tin lớn ban đầu. Dựa theo chỉ thị từ Master node, các Data node này sẽ trực tiếp điều hành hoạt động thêm, bớt những khối nhỏ của tệp tin.

Hadoop MapReduce

Module này hoạt động dựa trên YARN trong việc xử lý các tệp dữ liệu lớn. Hadoop MapReduce cho phép phân tán dữ liệu từ một máy chủ sang nhiều máy con. Mỗi máy con này sẽ nhận một phần dữ liệu khác nhau và tiến hành xử lý cùng lúc. Sau đó chúng sẽ báo lại kết quả lên máy chủ. Máy chủ tổng hợp thông tin lại rồi trích xuất theo như yêu cầu của người dùng.

Hadoop xử lý khối lượng lớn dữ liệu như thế nào?

Big Data có liên quan mật thiết đến Hadoop

Cách thực thi theo mô hình như vậy giúp tiết kiệm nhiều thời gian xử lý và cũng giảm gánh nặng lên hệ thống. Chức năng của máy chủ là quản lý tài nguyên, đưa ra thông báo, lịch trình hoạt động cho các máy trạm. Các máy trạm sẽ thực thi theo kế hoạch được định sẵn và gửi báo cáo dữ liệu lại cho máy chủ. Tuy nhiên đây cũng là điểm yếu của hệ thống này. Nếu máy chủ bị lỗi thì toàn bộ quá trình sẽ bị ngừng lại hoàn toàn.

>>>Mời bạn tham khảo thêm: 6+ Phần mềm lập trình cho trẻ em được cả thế giới tin dùng

Cách hoạt động của Hadoop là gì?

Giai đoạn 1

Người dùng hoặc ứng dụng sẽ gửi một job lên Hadoop để yêu cầu xử lý và thao tác. Job này sẽ đi kèm các thông tin cơ bản như: nơi lưu trữ dữ liệu input và output, các java class chứa các dòng lệnh thực thi, các thông số thiết lập cụ thể.

Giai đoạn 2

Sau khi nhận được các thông tin cần thiết, máy chủ sẽ chia khối lượng công việc đến cho các máy trạm. Máy chủ sẽ tiến hành theo dõi quá trình hoạt động của các máy trạm và đưa ra các lệnh cần thiết khi có lỗi xảy ra.

Giai đoạn 3

Các nodes khác nhau sẽ tiến hành chạy tác vụ MapReduce. Nó chia nhỏ các khối và thay phiên nhau xử lý dữ liệu. Khi Hadoop hoạt động, nó sử dụng một tệp tin nền làm địa chỉ thường trú. Tệp tin này có thể tồn tại trên 1 hoặc nhiều máy chủ khác nhau.

Ưu điểm của Hadoop là gì?

Hadoop cho phép người dùng nhanh chóng kiểm tra được tiến trình hoạt động của các phân tán. Nhờ vào cơ chế xử lý cùng lúc của các lõi CPU, một lượng lớn dữ liệu được phân phối xuyên suốt liên tục và không bị gián đoạn do quá tải.

Hadoop xử lý khối lượng lớn dữ liệu như thế nào?

Ảnh hưởng của Hadoop là rất lớn

Hadoop không bị ảnh hưởng bởi cơ chế chịu lỗi của fault-tolerance and high availability (FTHA). Nó có khả năng xử lý lỗi riêng nhờ các thư viện được thiết kế để phát hiện lỗi ở các lớp ứng dụng. Chính vì thế, khi không may có lỗi xảy ra, Hadoop sẽ nhanh chóng xử lý nó trong thời gian ngắn nhất nhờ cơ chế chủ động của mình.

Một ưu điểm nữa của Hadoop là khả năng triển khai rất nhiều master-slave song song để xử lý các phần khác nhau. Vì có nhiều server master nên công việc sẽ công bị trì hoãn dù không may có một master bị lỗi.

Và cuối cùng, do Hadoop được xây dựng từ ngôn ngữ Java nên nó có khả năng tương thích với rất nhiều nền tảng và hệ điều hành khác nhau, từ Window, Linux đến MacOs…

>>Mời bạn đọc tham khảo thêm: Lập trình web là làm gì? Những công việc của 1 lập trình viên

Kết luận

Vừa rồi Teky đã mang đến nhiều thông tin hữu ích xoay quanh chủ đề Hadoop là gì. Với những liệt kê đầy đủ từ định nghĩa, đặc điểm cho đến cách thức hoạt động, mong rằng bạn đã có thể nắm chắc trong tay các kiến thức về công cụ xử lý Big Data hữu hiệu này. Chúc bạn có thể nhanh chóng học hỏi được và áp dụng Hadoop nhuần nhuyễn vào trong công việc của ban thân nhé!

Học Viện Công Nghệ Teky được chọn là địa chỉ học lập trình uy tín nhất cho trẻ 

TEKY là Học viện sáng tạo công nghệ với chương trình giảng dạy STEAM (Science – Technology – Engineering – Art – Mathematics) theo chuẩn Mỹ đầu tiên tại Việt Nam dành cho trẻ em từ 4 đến 18 tuổi.

Được thành lập vào tháng 6 năm 2016, TEKY quyết tâm thực hiện sứ mệnh mang đến cho thế hệ trẻ Việt Nam kiến thức toàn diện về STEAM, đặc biệt là các tư duy công nghệ, khoa học máy tính và kỹ năng thế kỷ 21 – 4Cs (Critical Thinking: Tư duy phản biện – Communication: Giao tiếp – Creativity: Sáng tạo – Collaboration: Làm việc nhóm).

Hadoop xử lý khối lượng lớn dữ liệu như thế nào?

Trải nghiệm học lập trình miễn phí

Đây là chương trình không chỉ trang bị kiến thức lập trình mà còn rèn luyện nhóm kỹ năng 4Cs. Trẻ sẽ được:

  •  Học tư duy phản biện thông qua việc phân tích các vấn đề.
  •  Học tính sáng tạo tư duy Logic thông qua việc lắp đặt và lập trình robot th ông qua các mô hình Lego Mindstorm, app trò chơi. Giúp con học giỏi môn Toán trên lớp
  •  Kỹ năng hợp tác thông qua các trò chơi team-building, các dự án nhóm trên lớp.
  •  Phát huy khả năng giao tiếp hiệu quả bằng nhiều bài tập và hoạt động hấp dẫn.

Các bộ môn giảng dạy tại Teky gồm: Lập trình và phát triển ứng dụng, lập trình game, lập trình web với python  Lập trình Scratch Robotics Engineering, Công nghệ 3D và MultiMedia. Chúng tôi tin rằng trẻ em Việt Nam có cơ hội phát triển mạnh mẽ trong một nền kinh tế số và cần được trang bị sẵn sàng để trở thành những doanh nhân công nghệ trong tương lai.

Liên hệ ngay học viện công nghệ sáng tạo TEKY để được tư vấn khóa học:

  • Cam kêt 7 tuổi có thể lập trình
  • Top 10 dự án giáo dục có tầm ảnh hưởng nhất Đông Nam Á 2017 & 2018
  • Top 3 Dự án xuất sắc nhất, NextGen – Thụy Sĩ
  •  Hotline Hà Nội: 024-7109-6668 | 0975-241-015
  •  Hotline Hồ Chí Minh: 028-7109 9948 | 097-900-8642

Website https://teky.edu.vn | Email: |