thu thập 1 137 giây 576 giây 1 2 748 giây 2016 giây 226
3 10264 giây Hơn 10 giờ 4513
Dựa vào bảng ta có thể thấy, với chiều sâu lớn hơn thì thời gian thu thập dữ liệu cũng tăng lên. Điều này là hoàn toàn dễ hiểu khi qua mỗi vòng lặp số URL mà Nutch phải thu thập cũng tăng lên ( từ 1 đến 4513). So sánh giữa 2 chế độ một máy đơn và chế độ phân tán ảo ta thấy có sự khác biệt rất rõ ràng. Chế độ phân tán ảo cho kết quả thời gian thu thập dữ liệu lớn hơn rất nhiều so với chế độ một máy đơn. Có thể giải thích điều này như sau: với một môi trường phân tán ảo thực tế tài nguyên của máy bị chi phối vào việc duy trì một môi trường ảo hóa do vậy tài nguyên RAM, tài nguyên chip xử lý không những không được tận dụng mà còn bị chi phối đi. Tuy nhiên việc thử nghiệm môi trường phân tán ảo cho ta kết quả về sự nhân bản của các khối dữ liệu là đúng, điều này chứng minh khả năng chịu lỗi và khôi phục dữ liệu khi có trục trặc của Hadoop.
3.5. Thực hiện tìm kiếm thử nghiệm trên tập chỉ mục đã thu thập được. được.
Sau khi thực hiện thu thập dữ liệu ta có thể truy cập trang http://localhost:8983/solr để thực hiện câu lệnh truy vấn ngay. Kết quả của các câu lệnh truy vấn này có thể ở nhiều dạng khác nhau rất dễ dàng tích hợp với các ứng dụng web. Có nhiều định dạng khác nhau được Solr sử dụng như định dạng PHP, XML, Json …
Hình 0.13: Giao diện trang web tìm kiếm trên Solr
Ta có thể dễ dàng xây dựng một giao diện web để thực hiện giao tiêp với Solr. Việc giao tiếp này bao gồm các công việc gửi từ truy vấn đến Solr, sau khi nhận được yêu cầu truy vấn Solr thực hiện tìm kiếm và trả lại kết quả. Kết quả này sẽ được trang web phân tích và hiển thị cho người dùng. Có nhiều bộ thư viện cho phép ta làm các công việc trên. Báo cáo này sử dụng một bộ thư viện giao tiếp với Solr có tên gọi là AJAX SOLR. AJAX SOLR cung cấp các thư viện cho phép giao tiếp với Solr và rất dễ sử dụng.
Để thực hiện tìm kiếm thử trên Nutch cho kết quả rõ ràng hơn, báo cáo này đã thực hiện thu thập dữ liệu của các nhóm học sinh của một số trường trong tỉnh Hòa Bình:
1. https://www.facebook.com/groups/1573580766273010
2. https://www.facebook.com/Trường-THPT-Công-Nghiệp-Hòa-Bình 3. https://www.facebook.com/pages/THPT-chuyên-Hoàng-Văn-Thụ
Tổng số tài liệu mà việc thu thập đã thực hiện là khoảng 2000 trang(bao gồm các trang mạng cá nhân và các trang fanpage tập thể của học sinh). Với dung lượng dữ liệu lên đến khoảng 2GB. Kết quả tìm kiếm thử nghiệm theo một số chủ đề phổ biến được ghi lại ở bảng sau:
Bảng 0.2: Một số kết quả truy vấn theo chủ đề
Từ khóa Thời gian tìm kiếm (1/1000 giây) Số kết quả
Giáo dục 103 2910 Tuyển sinh 94 4361 Bóng đá 10 3689 Tình yêu 3 5743 Luật pháp 31 3713 Lớp 54 4078 Gia đình 3 4333 Đồng phục 2 3477 Toán 30 4118 Văn 2 4103 Tiếng Anh 6 3570
Một yêu cầu bắt buộc của các chương trình tìm kiếm dữ liệu là yêu cầu về thời gian. Một chương trình tìm kiếm phải đảm bảo đáp ứng thời gian tìm kiếm nhanh hơn rất nhiều so với đại đa số các nhiệm vụ trên dữ liệu lớn khác. Theo đánh giá ban đầu kết quả tìm kiếm trên tập dữ liệu là tương đối khả quan với điều kiện phần cứng trung bình. Các kết quả truy vấn không có thời gian vượt quá hàng phút đáp ứng được yêu
Chương 3 trình bày cách xây dựng một cụm máy Hadoop hoàn chỉnh với thử nghiệm trên môi trường phân tán ảo so sánh khả năng hoạt động của Hadoop trên môi trường phân tán ảo và với duy nhất một máy tính. Thực nghiệm cho thấy khả năng hoạt động của Hadoop phụ thuộc rất nhiều vào dung lượng của RAM và khả năng tính toán của chip xử lý, tốc độ của Hadoop chỉ thực sự tăng lên khi cụm máy Hadoop được mở rộng quy mô về RAM cũng như chip xử lý. Việc thực hiện thử nghiệm Hadoop trên mội trường phân tán ảo, tuy vậy, cung đem lại nhiều kết quả rất tích cực ta có thể thấy thực tế quá trình nhân bản dữ liệu qua các máy trong cùng một mạng của Hadoop, ta có thể thấy được khả năng phục hồi dữ liệu khi xảy ra sự cố của Hadoop. Cách mà Hadoop phân chia các quá trình con của công việc thu thập dữ liệu bằng Nutch trên cụm máy phân tán. Theo dõi các công việc con hoạt động trong MapReduce, quá trình tạo cấu trúc dữ liệu của Nutch.
Chương 3 cũng thực hiện việc cấu hình Nutch với một chương trình đánh chỉ mục và tìm kiếm nguồn mở được sử dụng rộng rãi là Solr. Solr cho kết quả truy vấn trên chỉ mục tương đối khả quan với điều kiện phần cứng và dữ liệu ở mức trung bình. Hoàn thành được việc xây dựng một trang web tìm kiêm đơn giản giao tiếp với Solr thay thế cho giao diện tìm kiếm mặc định của Solr.
Kết luận
1. Đánh giá kết quả của đề tài
Đề tài đã tìm hiểu được kiến thức tổng quan về MapReduce, thuật toán đánh chỉ mục và chỉ mục ngược. Đồng thời xây dựng được hệ thống tìm kiếm và khảo sát đánh giá ý kiến học sinh trên mạng xã hội. Đề Tài đã thực hiện được các nội dung sau:
- Tìm hiểu tổng quan về MapReduce và xây dựng thuật toán MapReduce cơ bản.
- Tìm hiểu về thuật toán đánh chỉ mục và chỉ mục ngược kết hợp với MapReduce.
- Xây dựng được chương trình khảo sát ý kiến trên mạng xã hội, tổng hợp,cài đặt và thử nghiệm hệ thống.
2. Hạn chế
- Chưa nghiên cứu được các giải pháp tách từ tiếng Việt đầy đủ, do đó ảnh hưởng tới kết quả và độ chính xác của hệ thống khảo sát ý kiến
- Hệ thống dò tìm Web còn đơn giản, chưa hỗ trợ được các mạng xã hội hoặc các Url của các website trên internet ở mức độ khác nhau.
3. Hướng phát triển của đề tài
Mặc dù đã thực hiện được các nội dung cơ bản và xây dựng hệ thống vẫn hành thành công. Tuy nhiên, đề có thể hoàn thiện tốt hơn, đề tài cần nghiên cứu và bổ sung thêm các nội dung về tìm kiếm web trên các mạng xã hội khác ngoài Facebook, có thể mở rộng thêm tìm kiếm trên các website, Forum học tập của học sinh. Tăng cường hiệu năng tìm kiếm các từ chính xác hơn.
TÀI LIỆU THAM KHẢO
[1]. Data-Intensive Text Processing with MapReduce - Jimmy Lin The iSchool University of Maryland.
[2]. MapReduce: Simplified Data Processing on Large Clusters - Jeffrey Dean and Sanjay Ghemawat Google Inc.
[3]. Azza Abouzeid, Kamil Bajda-Pawlikowski, Daniel Abadi, Avi
Silberschatz, and Alexander Rasin. HadoopDB: An architectural hybrid of MapReduce and DBMS technologies for analytical workloads. In Proceedingsof the 35th International Conference on Very Large Data Base (VLDB 2009), pages 922{933, Lyon, France, 2009.
[4]. Vo Ngoc Anh and Alistair Mo_at. Inverted index compression using word-aligned binary codes. Information Retrieval, 8 (1):151{166, 2005. [5]. Stefan Buttcher, Charles L. A. Clarke, and Gordon V. Cormack.
Information Retrieval: Implementing and Evaluating Search Engines. MIT Press, Cambridge, Massachusetts, 2010.
[6]. Jonathan Cohen. Graph twiddling in a MapReduce world. Computing in Science and Engineering, 11 (4):29{41, 2009.
[7]. Jeffrey Dean and Sanjay Ghemawat. MapReduce: A exible data processing tool. Communications of the ACM, 53 (1):72{77, 2010. [8]. F. N. Afrati, A. D. Sarma, D. Menestrina, A. G. Parameswaran, and J.
D. Ullman. Fuzzy joins using mapreduce. In ICDE, pages 498–509, 2012. [3] F. N. Afrati and J. D. Ullman. Optimizing multiway joins in a map-reduce environment. TKDE, 23 (9):1282–1298, 2011.
[9]. S. Blanas, J. M. Patel, V. Ercegovac, J. Rao, E. J. Shekita, and Y. Tian. A comparison of join algorithms for log processing in mapreduce. In SIGMOD, pages 975–986, 2010.