Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
343,81 KB
Nội dung
SONG SONG HÓA PHÂN ĐOẠN THU THẬP TRI THỨC TỪ DỮ LIỆU VỚI HADOOP MAPREDUCE Học viên: Ngô Huỳnh Ngọc Phú Giảng viên hướng dẫn: PGS. TS. Nguyễn Phi Khứ Abstract Ở thời đại bùng nổ thông tin hiện nay, dữ liệu thu thập hằng ngày là rất lớn. Việc xử lý lượng dữ liệu khổng lồ này bằng các phương pháp truyền thống gặp nhiều khó khăn do giới hạn về khả năng xử lý của các máy tính. Việc xử lý dữ liệu bằng lý thuyết tập thô đã được ứng dụng thành công vào khai phá dữ liệu. Nền tảng MapReduce được sử dụng để phân tích dữ liệu hiệu quả. Bài này tập trung vào việc vận dụng MapReduce để khai phá tri thức từ bảng dữ liệu với hệ thống nhiều máy tính xử lý song song. 1. Giới thiệu Dữ liệu thu thập thông qua các công cụ thu thập dữ liệu như cảm biến, log với nhiều kiểu định dạng khác nhau đang tích lũy từng ngày qua năm tháng. Yêu cầu thực tế là phải xử lý lượng dữ liệu này để khai thác được thông tin phục vụ cho việc quản lý và định hướng sản xuất kinh doanh. Để khai thác dữ liệu hiệu quả, cần tiến hành tinh lọc, rút gọn và tập hợp được các thông tin cần thiết cho mục đích sử dụng cụ thể. Với lượng dữ liệu lớn, việc tổng hợp và xử lý trên một máy đơn dẫn đến các vấn đề về không gian lưu trữ bị giới hạn, sức mạnh xử lý không đủ đáp ứng. Nền tảng MapReduce với khả năng xử lý song song trên một nhóm các máy tính được các kĩ sư Google phát triển để có thể xử lý những dữ liệu rất lớn. Lý thuyết tập thô ra đời năm 1982 đã trở thành một công cụ mạnh mẽ để xử lý dữ liệu không đồng bộ. Đặc biệt là các dữ liệu chứa các thành phần mâu thuẫn lẫn nhau. 2. Các công trình liên quan Vào tháng 1 năm 2012 Junbo Zhang và các cộng sự đã đưa ra công trình tính toán các xấp xỉ của tập thô trên nền tảng song song hóa [6]. Công trình đã đưa ra các thuật giải tính toán lớp tương đương và xấp xỉ của tập thô trên các bảng quyết định. Các thuật giải này sử dụng cơ sở lý thuyết tập thô để phân nhỏ tập dữ liệu, tiến hành xử lý trên các tập dữ liệu phân nhỏ trên từng máy tính riêng biệt. Sau đó tổng hợp các kết quả để thu được kết quả cuối cùng. Junbo Zhang và các cộng sự cũng đã đưa ra công trình [5] thu gọn các thuộc tính của bộ dữ liệu trước khi xử lý trên nền tảng MapReduce. 3. Khái niệm tập thô và lớp tương đương Hệ thống thông tin được định nghĩa bởi S = (U,A,V,f). Trong đó: U là tập hợp xác định khác rỗng, gọi là tập vũ trụ. A là tập hợp xác định khác rỗng các thuộc tính V = U a∈ A V a với V a là miền xác địnhcủa thuộctính a f là hàm thông tin f: U x A → V Trường hợp đặc biệt, S = (U, A, V, f) được gọi là bảng quyết định nếu A=C∪ D với C là tập hợp các thuộc tính điều kiện và D là thuộc tính quyết định C∩D=∅ Định nghĩa 1. Gọi B={b 1, b 2, ,b n } là một tập con của tập thuộc tính điều kiện C. Tập hợp thông tin xác định theo tập thuộc tính B của các phần tử x∈U được định nghĩa bởi: x ⇀ B ={ f (x ,b 1 ), f (x ,b 2 ), , f (x , b n )} Quan hệ tương đương xác định trên tập B được định nghĩa: IND(B)={(x , y)∣(x , y)∈U x U , x ⇀ B = y ⇀ B } Theo đó, hai phần tử x , y∈U thỏa mãn quan hệ IND(B) là không thể phân biệt được trên tập thuộc tính B. Phân hoạch các phần tử x∈U vào quan hệ tương đương IND(B) thành các lớp tương đương được định nghĩa: U / IND(B)=U / B={[ x] B ∣ x∈U } Trong đó, [ x] B kí hiệu tập hợp các phần tử x với các thuộc tính trên B phân vào các lớp tương đương. Ví dụ 1. Bảng quyết định được thể hiện trong bảng 1. Các thuộc tính Headache, Muscle, Temperature là thuộc tính điều kiện, Flu là thuộc tính quyết định. Bảng 1. Bảng quyết định S U Headache Muscle Temperature Flu x 1 no yes high yes x 2 yes no high yes x 3 yes yes very high yes x 4 no yes normal no x 5 yes no high no x 6 no yes very high yes Đối tượng x 1 được xác định bởi: x 1 ={( Headache ,no) ,( Muscle , yes) ,(Temperature , high),( flu , yes)} Giả sử B={Headache , Muscle } phân hoạch của U theo tập thuộc tính B là: U / B={{ x 1, x 4, x 6 },{x 2, x 5 }, {x 3 }} Định nghĩa 2. Cho hai tập thuộc tính B 1 ={b 11, b12 , ,b 1m1 } v à B 2 ={b 21, b22 , , b 2m2 } với B 1, B 2 ⊆C và B 1 ∩B 2 =∅ Tập thông tin của U theo B=B 1 ∪B 2 ,∀ x∈U được biểu diễn: x ⇀ B = x ⇀ B 1 ∪B 2 = x ⇀ B 1 ∧ x ⇀ B 2 = 〈 f (x ,b 11 ), , f (x , b 1m 1 )〉∧〈 f (x , b 21 ), , f (x ,b 2m 2 )〉 = 〈 f (x ,b 11 ), , f (x , b 1m 1 ), f (x ,b 21 ), , f ( x ,b 2m 2 )〉 Ví dụ 2. (Tiếp theo ví dụ 1) Tập thông tin với x 1 theo B , D và B∪D x 1 B ⇀ =〈no , yes〉 x 1D ⇀ =〈 yes〉 x 1 B∪D ⇀ =〈no , yes , yes〉 Định nghĩa 3. Giả sử B⊆A tập thông tin theo B với các phần tử E∈U / B được biểu diễn: E B ⇀ =x B ⇀ , x∈E Ví dụ 3. (Tiếp theo ví dụ 1) E 1B ⇀ ={x 1, x 4, x 6 }=〈no , yes〉 E 2B ⇀ ={x 2, x 5 }=〈 yes ,no〉 E 1B ⇀ ={x 3 }=〈 yes , yes〉 Định nghĩa 3. Gọi phân hoạch của U theo tập thuộc tính B : U / B={E 1, E 2, , E m } phân hoạch của U theo tập quyết định D: U / D={D 1, D 2, , D n } ∀ E i ∈U / B ,∀ D j ∈U / D độ chính xác, độ bao phủ của luật E i → D j được xác định bởi Độ chính xác: Acc(D j ∣E i )= ∣E i ∩D j ∣ ∣E i ∣ Độ bao phủ: Cov( D j ∣E i )= ∣E i ∩D j ∣ ∣D j ∣ Ví dụ 4. (tiếp theo ví dụ 3) D 1 =〈no 〉 D 2 =〈 yes〉 Độ chính xác và độ bao phủ của : E 1 → D 1 Acc( D 1 ∣E 1 )= ∣E 1 ∩D 1 ∣ ∣E 1 ∣ = ∣x 1 ∣ ∣x 1, x 4, x 6 ∣ = 1 3 Cov(D 1 ∣E 1 )= ∣E 1 ∩D 1 ∣ ∣D j ∣ = ∣x 1 ∣ ∣x 4, x 5 ∣ = 1 2 Định nghĩa 4. ∀ E i ∈U / B ,∀ D j ∈U / D với i∈[1,m] , j ∈[1,n] Thu thập luật từ bảng quyết định được thực hiện thông qua các phương án sau: Phương án 1.[5] Nếu Acc(D j ∣E i )=1 thì luật E i → D j là chắc chắn với độ bao phủ Cov(D j ∣E i )=1 Phương án 2.[5] Nếu Acc( D j ∣E i )>α và Cov( D j ∣E i )>β thì luật E i → D j là luật xác suất với α∈(0.5,1)và β∈(0,1) 4. Hadoop và nền tảng MapReduce Hadoop, một dự án phần mềm quản lý dữ liệu Apache với phần lõi là nền tảng MapReduce của Google, được thiết kế để hỗ trợ các ứng dụng sử dụng đươc số lượng lớn dữ liệu cấu trúc và phi cấu trúc. Hadoop được thiết kế để làm việc với nhiều loại dữ liệu nguồn. Hadoop gồm 2 phần cơ bản: YARN (MapReduce framework) và HDFS (hệ thống lưu trữ phân tán). Việc xử lý thông qua Hadoop được phân thành các công việc nhỏ hơn, dữ liệu đầu vào cũng được chia thành các gói nhỏ hơn được lưu trữ phân tán. 4.1 Cài đặt Hadoop Hadoop chạy trên nền máy áo JAVA® do vậy Hadoop hỗ trợ nhiều hệ điều hành khác nhau. Kể từ phiên bản Hadoop 2.x, Hadoop đã hỗ trợ hệ điều hành Windows từ lõi. Hadoop được thiết kế để kết hợp hệ thống rất nhiều máy chủ thông qua hạ tầng mạng với lưu ý tối đa hóa khả năng xử lý CPU và tối thiểu hóa lưu lượng network phát sinh khi xử lý và luân chuyển dữ liệu. Về hạ tầng, cần chuẩn bị các máy chủ (vật lý hoặc ảo hóa) gọi là node và hệ thống network liên kết các node cũng như danh sách IP cấp cho các node. Hadoop điều khiển các node thông qua tên node (giống với tên miền) nên cần chuẩn bị: + Hệ thống phân giải tên miền tập trung (DNS Server) cho hệ thống + Danh sách <IP> <tên node> để cập nhật tập tin phân giải: + Linux: /etc/hosts + Windows: %SystemRoot%\System32\drivers\etc\hosts Hadoop có thể cấu hình toàn bộ trên 1 node duy nhất để thử nghiệm. Trong thực tế, các node được cài đặt trên các server khác nhau. Phần tiếp theo trình bày việc cài đặt theo hướng thứ 2: Cluster Setup. Phiên bản Hadoop cài đặt: 2.6.0. Hệ điều hành Linux, môi trường JAVA OpenJDK version 1.7.x. Trên các hệ điều hành Linux khác, các bước cài đặt tiến hành tương tự, chỉ khác về vị trí file cấu hình hệ thống. Bảng 2. Cấu hình 1 máy ảo Hệ điều hành Debian Whezzy 7.8 32-bit PAE CPU 1 vCPU RAM 1 GB HDD SSD 10GB (thin) Tổng quan, việc cấu hình được phân thành các bước với trình tự như sau: + Cấu hình hệ thống: + IP, phân giải tên node + JAVA, môi trường và thông số chạy JAVA + SSH đăng nhập không dùng mật khẩu giữa node master và slave + Cấu hình Hadoop: toàn bộ trong thư mục etc/hadoop/. Phần này thực hiện 2 nhóm công việc + Cấu hình nền tảng lưu trữ HDFS: Name Node, Secondary NameNode, Data Node + Cấu hình nền tảng tính toán YARN: Resource Manager, Node Manager, Job History Với HDFS, hệ thống server gồm 1 node master: Name Node, 1 node hoặc nhiều node slave: DataNode (node lưu trữ) Name Node: Quản lý các tác vụ với file như mở, đóng, thay đổi tên file hoặc thư mục. Name Node không trực tiếp lưu trữ file. Name Node chỉ lưu trữ các thuộc tính và block của file và node nào đang lưu trữ. Name Node cũng quản lý việc lưu trữ dự phòng (replication) các file trên các Data Node. Secondary Name Node: tự động đồng bộ hóa với Name Node và thay thế Name Node trong trường hợp Name Node gặp sự cố. Secondary Name Node thường xuyên lưu trữ các bản snapshot của Name Node. Cài đặt thử nghiệm có thể khởi động Secondary Name Node trên cùng 1 node với Name Node. Data Node: đây là node lưu trữ trực tiếp dữ liệu. Data Node kết nối với Name Node để thông báo các block file đang lưu trữ và khởi động dịch vụ cho phép thay đổi nội dung. Chương trình thực thi sẽ trao đổi dữ liệu trực tiếp với các Data Node. Data Node sẽ thường xuyên cập nhật trạng thái của mình cho Name Node. Với YARN: hệ thống server gồm 1 node master: Resource Manager, 1 hoặc nhiều node slave: Node Manager (node tính toán) và 1 node Job History Resource Manager: quản lý trạng thái các MapReduce job đang thực thi hoặc được lên lịch trình. Resource Manager theo dõi các trạng thái các job này, thay thế job trên các node bị lỗi. Node Manager: là node trực tiếp thực hiện việc tính toán và chạy đoạn chương trình MapReduce, sắp xếp kết quả. Node Manager liên tục cập nhật thông tin về trạng thái job thực thi với Resource Manager. Trong trường hợp Node Manager bị lỗi, không gửi thông tin trạng thái đúng hạn, node này sẽ được Resource Manager thay thế bởi node khác để thực hiện lại việc tính toán. Cấu trúc thư mục của Hadoop cho phép các node khác nhau đọc các file cấu hình khác nhau trong cùng một thư mục. Do đó, thư mục này hầu hết giống nhau trên tất cả các node (khác file cấu hình master/slave). Việc một node khởi động với vai trò gì tùy thuộc vào câu lệnh của quản trị viên. Cấu hình hệ thống Danh sách IP sử dụng: IP Tên node Vai trò 192.168.56.21 mood1name Name Node 192.168.56.22 mood2data Data Node 192.168.56.23 mood3resourceM Resource Manager 192.168.56.24 mood4nodeM Node Manager 192.168.56.25 mood5History Job History Cấu hình file /etc/hosts trên các server: 192.168.56.21 mood1name 192.168.56.22 mood2data 192.168.56.23 mood3resourceM 192.168.56.24 mood4NodeM 192.168.56.25 mood5History Cài đặt JAVA: apt-get install ssh rsync openjdk-7-jre-headless openssh-server openssh- client echo "export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386" >> ~/.bashrc logout SSH đăng nhập không sử dụng mật khẩu: SSH được sử dụng để các node master (Name Node và Resource Manager) có thể khởi động dịch vụ trên các máy khác. Quản trị viên chỉ cần khởi động dịch vụ trên các node này. Việc sinh key RSA đăng nhập không dùng mật khẩu được thực hiện trên node master và copy các public key lên các máy slave: Data Node và Node Manager Trên tất cả các máy: ssh-keygen -t rsa Trên Name Node: cat ~/.ssh/id_rsa.pub root@mood2data 'cat >> ~/.ssh/authorized_keys2' # Thay mood2data bằng tên các slave node còn lại của HDFS Trên Resource Manager: cat ~/.ssh/id_rsa.pub root@mood4nodeM ' cat >> ~/.ssh/authorized_keys2' # Thay mood4nodeM bằng tên các slave node còn lại của YARN Cấu hình Hadoop Bộ thực thi Hadoop được tải về và cài đặt vào thư mục: /home/hadoop VER=2.6.0 mkdir /home/hadoop cd /home/hadoop wget http://www.interior-dsgn.com/apache/hadoop/common/hadoop-$VER/hadoop- $VER.tar.gz tar xvf hadoop-$VER Các file cấu hình Hadoop được lưu trong thư mục etc/hadoop là thư mục con của thư mục giải nén hadoop. Trong trường hợp này, đường dẫn tuyệt đối là : /home/hadoop/hadoop-2.6.0/etc/hadoop/ Cấu trúc file 1 file cấu hình: <configuration> <property> <name>dfs.namenode.name.dir</name> <value>/home/hadoop/data</value> </property> <property> </property> </configuration> Mỗi file cấu hình có 1 cặp thẻ <configuration> duy nhất, bên trong có thể có 1 hoặc nhiều thẻ <property>. Trong mỗi thẻ <property> gồm 1 cặp <name> và <value> thể hiện tên thuộc tính và giá trị thuộc tính cấu hình. Mỗi dịch vụ của Hadoop sử dụng 1 file cấu hình khác nhau: Cấu hình tổng quát etc/hadoop/core-site.xml fs.default.name hdfs://192.168.56.21: 8020 host:port Địa chỉ Name Node HDFS Cấu hình nền tảng lưu trữ HDFS etc/hadoop/hdfs-site.xml dfs.namenode.name.dir /home/hadoop/data Thư mục lưu trữ meta-data file của Name Node dfs.datanode.data.dir /home/hadoop/data Thư mục lưu trữ các file thực của Hadoop trên các Data Node fs.defaultFS hdfs://mood1name/ Thay mood1name bằng tên node master (Name Node) dfs.blocksize 67108864 64MB block dfs.replication 1 Số lượng copy của các file dữ liệu Để Hadoop tự động khởi động dịch vụ trên các Data Node, cần cài đặt tên các DataNode vào file etc/hadoop/slaves mood2data Chuyển vào thư mục cài đặt Hadoop và khởi động HDFS: cd /home/hadoop/hadoop-2.6.0 ./sbin/start-dfs.sh Kiểm tra các dịch vụ đã khởi động hay chưa bằng câu lệnh: jps Trên Name Node, sau khi chạy jps: Jps SecondaryNameNode NameNode Trên Data Node, sau khi chạy jps: Jps DataNode Sau khi chạy, HDFS có thể truy cập quản lý thông qua địa chỉ: http://mood1name: 50070/ Trong lần chạy đầu tiên, cần tiến hành format HDFS, trên Name Node : ./bin/hdfs namenode -format Cấu hình nền tảng tính toán etc/hadoop/yarn-site.xml yarn.nodemanager.local- dirs /home/hadoop/data Thư mục lưu trữ tạm dữ liệu trên các Node Manager trước khi gửi xuống HDFS yarn.resourcemanager.hostn ame mood3ResourceM Tên node của Resource Manager yarn.resourcemanager.resou rce-tracker.address mood3ResourceM:8025 host:port của Resource Manager các Node Manager sẽ connect đến yarn.resourcemanager.sched uler.address mood3ResourceM:8030 yarn.nodemanager.aux- services mapreduce_shuffle Shuffle Service cần thiết để chạy MapReduce etc/hadoop/mapred-site.xml mapreduce.framework.name yarn mapreduce.jobhistory.inter mediate-done-dir /home/hadoop/data/tmp mapreduce.jobhistory.done- dir /home/hadoop/data/done mapreduce.cluster.temp.dir /home/hadoop/data/tmp- cluster mapreduce.cluster.local.di r / home/hadoop/data/local -cluster Tương tự như phần cấu hình HDFS, để Hadoop tự động khởi động dịch vụ trên các Node Manager, cần cài đặt tên các Node Manager vào file etc/hadoop/slaves mood4nodeM Chuyển vào thư mục cài đặt Hadoop và khởi động YARN: cd /home/hadoop/hadoop-2.6.0 ./sbin/start-yarn.sh Kiểm tra trên Resource Manager: ResourceManager Jps Kiểm tra trên Node Manager: NodeManager Jps Sau khi chạy, HDFS có thể truy cập quản lý thông qua địa chỉ: http://mood3ResourceM: 8088/ 4.2 Cấu trúc chương trình Hadoop Map: Nhận vào cặp dữ liệu gồm khóa và dữ liệu được phân nhỏ từ tập dữ liệu ban đầu. Đầu ra là các bộ key-value(s) trung gian đã được sắp xếp theo cùng key. Kết xuất đầu ra của Map là các key khác nhau, kèm với đó là tập các value của key tương ứng. Combine (tùy chọn): thực hiện Reduce cục bộ trước khi được gom nhóm tổng hợp các kết quả. Đầu vào là các key và tập các value. Combine sẽ rút gọn các value giống nhau để tạo ra bộ value có thể nhỏ hơn. Reduce: Nhận vào các key và bộ value trung gian từ Map. Reduce sẽ rút gọn các value và trả về (thường là 1 hoặc 0) value đầu ra. Map: (k1, v1) ⇒ list(k2, v2) Group: MapReduce nhóm các key trung gian trước khi truyền cho Reduce Reduce: (k2, list(v2)) ⇒ (k3, v3) Cấu trúc chương trình Hadoop [2] Cài đặt thuật giải lên Hadoop Lấy ví dụ minh họa bằng chương trình mẫu WordCount có trong Hadoop: Yêu cầu bài toán: + Input: File văn bản. + Output: Danh sách các từ kèm số lần xuất hiện các từ này Thuật giải: Bước 1 - Split: Chia nhỏ dữ liệu đầu vào thành các document nhỏ Bước 2 - Map: Với mỗi document đầu vào, xuất ra các cặp key-value. Trong đó, key là từng từ xuất hiện trong document, value=1. Bước 3 – Group: Nhóm các key từ Bước 2 lại, value là danh sách các value=1 Bước 4 – Reduce: Tính tổng các value đầu vào và xuất ra cặp key-value là từ và số lần xuất hiện của từ này trong toàn bộ file văn bản. Một chương trình chạy trên Hadoop cần chuẩn bị qua 3 bước như sau: + Viết thuật giải bằng ngôn ngữ Java, sau đó biên dịch và đóng gói thành file jar. + Copy dữ liệu Input vào HDFS + Chạy chương trình và lấy dữ liệu từ HDFS ra. Giả sử chương trình đã được chuẩn bị xong, tiến hành các bước sau để biên dịch: Tạo thư mục program trong thư mục cài đặt Hadoop: cd /home/hadoop/hadoop-2.6.0 mkdir program Tạo file chương trình và biên dịch, đóng gói: cd program vi WordCount.java javac -classpath ` /bin/yarn classpath` -Xlint:deprecation -d . WordCount.java jar cf WordCount.jar WordCount*.class Download dữ liệu văn bản vào thư mục program/wordcount. Copy dữ liệu vào Hadoop: cd /home/hadoop/hadoop-2.6.0 ./bin/hdfs dfs -mkdir /user ./bin/hdfs dfs -mkdir /user/hadoop ./bin/hdfs dfs -put ./program/wordcount /user/hadoop/wordcount/input Chạy chương trình với Hadoop: cd /home/hadoop/hadoop-2.6.0 ./bin/hadoop jar program/WordCount.jar WordCount /user/hadoop/wordcount/input /user/hadoop/wordcount/output Xem kết quả trả về: ./bin/hadoop fs -cat /user/hadoop/wordcount/output/part-r-00000 Chương trình WordCount: Chương trình viết với Hadoop sử dụng các bộ thư viện đi kèm Hadoop và các kiểu dữ liệu chuyên biệt cho tính toán song song như: Text thay cho String, IntWritable thay cho Int v.v Mỗi công đoạn Map/Combine/Reduce có một lớp thực thi riêng, các kiểu dữ liệu đầu vào/đầu ra tuân thủ [...]... context.write(, ); Minh họa chương trình WordCount [2] 5 Ứng dụng MapReduce thu thập tri thức từ dữ liệu Thu t giải được thực hiện qua 2 bước: Bước 1: Tính toán song song với MapReduce lực lượng các lớp tương đương E, lớp quyết định D và lớp kết hợp E∩D theo từng cặp key-value 1.1 Việc tính toán được thực hiện trên từng dòng dữ liệu key-value 1.2 Kết hợp key-value giống nhau bằng Combine 1.3 Rút gọn các... kiểu dữ liệu output của Map giống với input của Reduce) public static class TokenizerMapper extends Mapper{ Theo đó: là kiểu dữ liệu đầu vào của Map và là kiểu dữ liệu ra sau khi thực hiện Map public static class IntSumReducer extends Reducer { Theo đó: là kiểu dữ liệu đầu vào của... Bước 2: Kết quả tính toán lực lượng lớp tương đương được sử dụng để tính toán tuần tự 2.1 Độ chính xác: E i → D j : Acc ( D j∣E i )= 2.2 Độ bao phủ: E i → D j :Cov ( D j∣E i )= ∣E i∩D j∣ ∣E i∣ ∣E i∩ D j∣ ∣D j∣ 2.3 Chọn/loại bỏ luật theo phương án 1 nếu không chọn được xét phương án 2 đã trình bày ở mục 3 Kiểm tra tính đúng đắn: Chạy thử nghiệm trên bộ dữ liệu ở Bảng 1 Với α=0.8 và =0.65, B={headache... IntSumReducer extends Reducer { Theo đó: là kiểu dữ liệu đầu vào của Reduce và là kiểu dữ liệu đầu ra (kết quả) sau khi thực hiện Reduce Trong mỗi lớp, cần cài đặt thủ tục phù hợp để Hadoop gọi từ bên ngoài: + Map: public void map(Object key, Text value, Context context ) throws IOException, InterruptedException { + Combine/Reduce:... và =0.65, B={headache , muscle } kết quả thu được: Rules Acc Cov #1:yes,no->high 1.00 0.67 #1:yes,yes->veryhigh 1.00 0.50 Với α=0.8 và =0.65, B={headache ,temperature } kết quả thu được: Rules Acc Cov #1:no,veryhigh->veryhigh 1.00 0.50 #1:no,normal->normal 1.00 1.00 #1:yes,veryhigh->veryhigh 1.00 0.50 #1:yes,high->high 1.00 0.67 #1:no,high->high 1.00 0.33 6 Tài liệu tham khảo [1] Khu Phi Nguyen – Cloud... Da Ruan, Zizhe Gao, Chengbing Zhao - A parallel method for computing rough set approximations - Information Sciences 194 (2012) 209–223 [7] Junbo Zhang,Tianrui Li, Yi Pan PLAR: Parallel Large-scale Attribute Reduction on Cloud Systems [8] Install Hadoop 2.x on Windows < https://wiki.apache.org/hadoop/Hadoop2OnWindows > [9] Hadoop Cluster Setup < http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoopcommon/ClusterSetup.html . vận dụng MapReduce để khai phá tri thức từ bảng dữ liệu với hệ thống nhiều máy tính xử lý song song. 1. Giới thiệu Dữ liệu thu thập thông qua các công cụ thu thập dữ liệu như cảm biến, log với nhiều. MapReduce thu thập tri thức từ dữ liệu Thu t giải được thực hiện qua 2 bước: Bước 1: Tính toán song song với MapReduce lực lượng các lớp tương đương E, lớp quyết định D và lớp kết hợp E∩D theo từng. SONG SONG HÓA PHÂN ĐOẠN THU THẬP TRI THỨC TỪ DỮ LIỆU VỚI HADOOP MAPREDUCE Học viên: Ngô Huỳnh Ngọc Phú Giảng viên hướng