Thu thập dữ liệu

Một phần của tài liệu (LUẬN văn THẠC sĩ) thuật toán đánh chỉ mục ngược với mapreduce và ứng dụng trong việc đánh giá ý kiến của học sinh hòa bình trên mạng xã hội​ (Trang 70 - 73)

Quá trình thu thập dữ liệu được thực hiện trên nền tảng MapReduce của Hadoop, tất cả các bước trong quá trình thu thập dữ liệu đều được thực hiện song song trên tất cả các máy của cụm máy Hadoop. Từng máy sẽ làm các nhiệm vụ thu thập dữ liệu với các URL được phân công sau đó kết quả của quá trình thu thập dữ liệu được trộn lại với nhau bằng hàm rút gọn kết quả (reducer). Các thư mục cuối cùng của quá trình thu thập được lưu lại trên hệ thống lưu trữ phân tán HDFS.

Trước hết, việc thu thập dữ liệu trên Facebook được thực hiện qua Facebook Graph API. Ta có thể truy cập vào Facebook Graph API qua đường link sau:

https://developers.facebook.com/tools/explorer Giao diện hiện lên như hình dưới:

Hình 0.9: Giao diện làm việc của Facebook Graph API

Đăng ký một App trên bộ công cụ phát triển Facebook, ta được cấp 1 Access Token (Là mã cho phép gửi đòi hỏi tới Server. Nếu bạn đang login vào một tài khoản facebook nào đó, giá trị này sẽ được mặc định hiển thị cho tài khoản đó.), sử dụng nó để có thể truy cập vào các trang Fanpage hoặc các trang cá nhân.

Hình 0.10: Access Token của một trình Facebook Graph API

Sau đó ta thực hiện việc lấy thông tin từ các trang Facebook cần dò tìm khảo sát. Với công cụ Facebook Graph API, các lựa chọn tìm kiếm được thể hiện rõ ràng trong hình dưới:

Hình 0.11: Thu thập dữ liệu từ trang mạng của trường THPT Hoàng Văn Thụ

Tất cả các dữ liệu sau khi được Crawler lấy từ Fabook Graph API sẽ được đưa về Hadoop dưới định dạng JSON.

Khởi động Hadoop và Solr:

$ cd $HADOOP_HOME $ bin/start-all.sh $ cd $SOLR_HOME/example

$ java –jar start.jar

bắt đầu thực hiện công việc thu thập dữ liệu bằng các câu lệnh sau:

$ cd /usr/local/nutch/runtime/deploy

$ hadoop –jar apache-nutch-1.6.job

org.apache.nutch.crawl.Crawl thuthap1 –dir data –solr

http://localhost:8983/solr -depth 1

Câu lệnh này sẽ thực hiện thu thập dữ liệu từ trang web và đưa kết quả đên Solr để tạo chỉ mục ngược cho dữ liệu. Sau câu lệnh này cụm máy hadoop bắt đầu thu thập dữ liệu từ địa chỉ có trong nội dung tệp tin seed.txt. Ta có thể theo dõi quá trình thu thập dữ liệu các, công việc đang được tiến hành bằng mapReduce bằng cách truy cập địa chỉ http://localhost:50030/jobtracker.jsp:

Hình 0.12:Giao diên theo dõi quá trình làm việc của MapReduce

Để đọc thông tin trong Crawldb của Nutch ta thực hiện câu lệnh sau:

$ cd $NUTCH_HOME

$ bin/nutch readdb data/crawldb –stats

Quá trình thu thập dữ liệu của trang nhóm học sinh THPT 19-5 Hòa Bình ta có kết quả như sau:

Bảng 0.1: Kết quả thu thập dữ liệu ở 2 chế độ Chiều sâu Chế độ một máy đơn (Standalone) Chế độ phân tán ảo (pseudo distributed)

Một phần của tài liệu (LUẬN văn THẠC sĩ) thuật toán đánh chỉ mục ngược với mapreduce và ứng dụng trong việc đánh giá ý kiến của học sinh hòa bình trên mạng xã hội​ (Trang 70 - 73)

Tải bản đầy đủ (PDF)

(77 trang)