Kỹ thuật map-reduce xử lý dữ liệu lớn
Mapreduce simplified-data-processing from Viet-Trung TRAN Hadoop là gì? Nó là một framework mã nguồn mở được viết bằng java, cho phép xử lý phân tán các tập dữ liệu lớn. Nó chạy ứng dụng trên các cụm phần cứng lớn và xử lý hàng ngàn terabytes dữ liệu trên hàng ngàn nodes. Hadoop lấy cảm hứng từ Google MapReduce và Google File System (GFS). Điểm mạnh của nền tảng Hadoop là cung cấp độ tin cậy và tính sẵn sàng cao. Big data solutionsVề cơ bản, các hệ thống được xây dựng lên đều sẽ có hệ thống lưu trữ và xử lý dữ liệu. Các hệ thống lữu trữ này có thể là Oracle, MS SQL server, DB2 hoặc MySQL và các phần mềm khác có thể tương tác với cơ sở dữ liệu. Nếu dữ liệu vẫn cứ ít, hệ thống vẫn chạy nhanh và ổn định thì không vấn đề. Nhưng vì hệ thống càng lâu, dữ liệu thu thập càng nhiều. Điều này làm hệ thống trở nên cồng kềnh và ì ạch. Chúng ta thử phân tích hướng giải quyết của google Google đã giải quyết vấn đề này bằng cách sử dụng một thuật toán gọi là MapReduce. Thuật toán này chia dữ liệu thành các phần nhỏ và gán dữ liệu này cho nhiều máy tính, các máy tính này được kết nối qua mạng. Ta có thể thấy sơ đồ dưới đây: Sự ra đời của Hadoop Hadoop được Doug Cutting và đội của ông xây dựng vào năm 2005. Hadoop chạy các ứng dụng bằng cách sử dụng thuật toán MapReduce, nơi dữ liệu được chạy xử lý song song trên các CPU khác nhau Introduction HadoopHadoop gồm 4 modules:
MapReduce Hadoop MapReduce là một framework dùng để viết các ứng dụng xử lý song song một lượng lớn dữ liệu có khả năng chịu lỗi cao xuyên suốt hàng ngàn cụm máy tính. Hadoop MapReduce thực hiện 2 tác vụ map và reduce Map: đây là tác vụ đầu tiên, trong đó dữ liệu đầu vào được chuyển đổi thành tập dữ liệu theo cặp key/value. Reduce: tác vụ này nhận kết quả đầu ra từ tác vụ Map, kết hợp dữ liệu lại với nhau thành tập dữ liệu nhỏ hơn. Thông thường, kết quả input và output được lưu trong hệ thống file. Framework này sẽ tự động quản lý, theo dõi và tái thực thi các tác vụ bị lỗi. Hadoop Distributed File System Hadoop có thể làm việc trực tiếp với bất kì hệ thống dữ liệu phân tán như Local FS, HFTP FS, S3 FS, và các hệ thống khác. Nhưng hệ thống file thường được dùng bởi Hadoop là Hadoop Distributed File System (HDFS). Hadoop Distributed File System dựa trên Google File System, cung cấp một hệ thống dữ liệu phân tán, được thiết kế để chạy trên các cụm máy tính lớn (gồm hàng ngàn máy tính) có khả năng chịu lỗi cao. How Does Hadoop Work?
Installation HadoopHadoop được hỗ trợ bởi nền tảng GNU/Linux và hoạt động tốt trên môi trường này. Vì vậy, chúng ta phải sử dụng hệ điều hành Linux để cài đặt Hadoop. Bài viết này tối sẽ nói đến Ubuntu 14.04 LTS ssh-key generate
Copy public key id_rsa.pub vào authorized_keys, và phân quyền read/write cho owner của authorized_keys đó.
Java installing Java là điều kiện tiên quyết để cài đặt Hadoop. Trước hết, bạn nên kiểm tra java đã có trong hệ thống của bạn hay chưa bằng lệnh:
Nếu chưa có thì bạn thực hiện Step1: Download java JDK Step2: Tìm đến file download và thưc hiện
Step3: move jdk đến "usr/local"
Step4: tạo Path cho biến JAVA_HOME bằng các copy đoạn dưới vào ~/.bashrc
Để apply được bạn chạy lệnh này
Step5: Config java
Hadoop Installing Có thể download bằng file hoặc bằng wget command line như sau:
Setting Hadoop bằng cách tạo PATH trong ~/.bashrc
Sau đó bạn có thể kiểm tra hadoop 0Test Hadoop Hãy kiểm tra một ví dụ đơn giản của Hadoop. Ví dụ đếm tổng số từ trong 1 file. Ta tạo 1 file .txt 1Bắt đầu với chạy với lệnh này để đếm số lượng từ trong 1 file 2File kết quả sẽ xuất ra 1 file trong output 3Như vậy là đã cài đặt thành công Hadoop. SummaryVậy là tôi đã hướng dẫn các bạn cài đặt Hadoop, khá đơn giản phải không? Bài tiếp theo chúng ta sẽ tiến hành cài đặt tính năng cho hadoop và bắt đầu chạy thử các ứng dụng test với dữ liệu lớn |