Studi Kasus (Run Kode Program)

4.5 Studi Kasus (Run Kode Program)

Running Code Program Pada Hadoop Single/Multi Node Cluster Pada Linux:

- Klasifikasi: NB, KNN - Clustering: K-Means - WordCount: Load+Simpan Hasil di HDFS Folder (Pert. Ke-

12-13) - WordCount: Load+Simpan Hasil di NoSQL (MongoDB) - Movie Ratings: Load di HDFS Folder+Simpan Hasil di

NoSQL (MongoDB)

4.5.1 Klasifikasi: NB dengan Terminal

1. Siapkan semua

(dari algoritma Naive_Bayes_Classifier_MapReduce,

file

*.java

kode: https://goo.gl/CEdr2R ) untuk dicompile ke *.jar:

link

Gambar 4.77 File *.java dari Algoritma Naive_Bayes_Classifier_MapReduce

cek pada setiap file *.java tersebut, apakah terdapat package atau tidak

2. Jika tidak terdapat package, langsung file *.java tersebut dicopy-paste ke folder /usr/local/hadoop

Gambar 4.78 Folder /usr/local/hadoop

NBCDriver.java

NBCMap.java

NBCReduce.java

3. Jika ada

misal “package comratingbymovies.nidos;”,

package- nya,

maka “comratingbymovies.nidos” masing-masing akan menjadi folder “comratingbymovies”, lalu “nidos”.

RatingCounterByMovieMongo.java

package comratingbymovies.nidos; import org.apache.hadoop.conf.Configuration; ..... ... public class RatingCounterByMovieMongo extends Configured implements Tool{

public int run(String[] args) throws Exception { .... ..

System.exit(res); }

Source Code 4.39 RatingCounterByMovieMongo.java

4. Maka di folder “/usr/local/hadoop”, akan ada folder “comratingbymovies/nidos” yang berisi file

Gambar 4.79 File *.java “RatingCounterByMovieMongo.java”, dan file *.java

lainnya yang memang memiliki package yang sama.

5. Jika pada file *.java tidak ada package-nya, maka di folder “/usr/local/hadoop”, akan langsung diisi dengan semua file

*.java tersebut

Copy-Paste

Gambar 4.80 File *.java pada Folder Hadoop

6. Lakukan perintah (Membuat file *.class): nidos@master:/usr/local/hadoop$ bin/hdfs

com.sun.tools.javac.Main *.java Note: NBCDriver.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details.

Source Code 4.40 File *.class

Gambar 4.81 File *.class pada Folder Hadoop

7. Lakukan perintah (Membuat file *.class  *.jar): nidos@master:/usr/local/hadoop$ bin/hdfs

com.sun.tools.javac.Main *.java Note: NBCDriver.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details.

Atau bisa dengan nidos@master:/usr/local/hadoop$ bin/hdfs com.sun.tools.javac.Main - Xlint:deprecation *.java nidos@master:/usr/local/hadoop$ jar cf NB.jar *.class NBCDriver.java:16: warning: [deprecation] Job(Configuration) in Job has been depre- cated

Job job = new Job(conf);

1 warning Buat folder HDFS, “nb” dan “input”

nidos@master:/usr/local/hadoop$ bin/hdfs dfs -mkdir /user/nidos/nb nidos@master:/usr/local/hadoop$ bin/hdfs dfs -mkdir /user/nidos/input

-copyFromLocal, misal file“1.txt” ada difolder “/home/nidos/Desktop/kode/Naive_Bayes_Clas sifier_MapReduce/input”  “1.txt” sebagai data training nidos@master:/usr/local/hadoop$ bin/hadoop jar NB.jar NBCDriver Urgent,Yes,Yes /user/nidos/nb/input/1.txt /user/nidos/nb/output

Source Code 4.41 Membuat file *.class  *.jar

8. Hasil 1 of 2:

Gambar 4.82 Hasill 1 of 2

9. Hasil 2 of 2:

Gambar 4.83 Hasil 2 of 2

4.5.2 Klasifikasi: NB dengan Eclipse

- Tampilan NBbyArgument

Eclipse, link kode: “https://goo.gl/QhQ1nr”

pada

Gambar 4.84 NBbyArgument pada Eclipse

- Pada “Referenced Libraries” list file jar “https://goo.gl/zZm21m”: /usr/local/hadoop/share/hadoop/common/hadoop-common-

2.7.3.jar /usr/local/hadoop/share/hadoop/common/hadoop-common- 2.7.3-tests.jar /usr/local/hadoop/share/hadoop/common/hadoop-nfs- 2.7.3.jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop- mapreduce-client-app-2.7.3.jar . . /usr/local/hadoop/share/hadoop/common/lib/xz-1.0.jar /usr/local/hadoop/share/hadoop/common/lib/zookeeper- 3.4.6.jar

- Running “NBbyArgument”: Pada NBCDriver.java terdapat “args[0], args[1],

args[2]”

Gambar 4.85 Running “NBbyArgument” ke-1

- Running “NBbyArgument”:

Klik Kanan Project “NBbyArgument”, Klik “Run As”, Klik “RunConfigurations..”

Gambar 4.86 Running “NBbyArgument” ke-2

- Running “NBbyArgument”:

Pada Java Application, jika belum ada “NB”, bisa dibuat dengan klik Buat nama, misal ”NB”, lalu pada “MainClass” isikan “org.myhadoop.trainings.NBCDriver”

Gambar 4.87 Running “NBbyArgument” ke-3

- Running “NBbyArgument”: Dan pada Tab “Arguments” isikan “Urgent,Yes,Yes hdfs://localhost:9000/user/hduser/nb/input/1.txt

hdfs://localhost:9000/user/hduser/nb/output2”

Gambar 4.88 Running “NBbyArgument” ke-4

- Running “NBbyArgument”: hdfs://localhost:9000/user/hduser/nb/ output2 ”

Jika sudah digunakan, ketika di klik “Run” akan muncul error seperti berikut:

“ Output directory hdfs://localhost:9000/user/hduser/nb/output2 already

exists ”

Gambar 4.89 Running “NBbyArgument” ke-5

- Running “NBbyArgument”: args[2] =

hdfs://localhost:9000/user/hduser/nb/output3 Klik Apply, Klik Run

Gambar 4.90 Running “NBbyArgument” ke-6

- Running “NBbyArgument”: args[2] =

hdfs://localhost:9000/user/hduser/nb/ output3 Klik Apply, Klik Run, berikut tampilan jika berhasil dijalankan

Gambar 4.91 Running “NBbyArgument” ke-7

- Running “NBbyArgument”: args[2] =

hdfs://localhost:9000/user/hduser/nb/ output3 Klik Apply, Klik Run, berikut tampilan jika berhasil dijalankan & hasil klasifikasinya

Gambar 4.92 Running “NBbyArgument” ke-8

- Tampilan NBtanpaArgument

Eclipse, link kode: “https://goo.gl/ofBqKg”

di

Kode yang diubah: conf.set("test_input", args[0]);  conf.set("test_input", "Urgent,Yes,Yes");

FileInputFormat.setInputPaths(job, new Path(args[1]));  FileInputFormat.setInputPaths(job, new Path("hdfs://localhost:9000/user/hduser/nb/input/1.txt"));

FileOutputFormat.setOutputPath(job, new Path(args[2]));  FileOutputFormat.setOutputPath(job, new Path("hdfs://localhost:9000/user/hduser/nb/output4"));

Gambar 4.93 Running “NBtanpaArgument” ke-1

- Runnin g “NBtanpaArgument”: Set “Run Configuration”, klik Apply, klik Run

Gambar 4.94 Running “NBtanpaArgument” ke-2

- Running “NBtanpaArgument”: Hasil “Run Configuration”, klik Apply, klik Run

Gambar 4.95 Running “NBtanpaArgument” ke-3

- Running “NBtanpaArgument”: Hasil “Run Configuration”, klik Apply, klik Run, dan

hasil klasifikasinya

Gambar 4.96 Running “NBtanpaArgument” ke-4

4.5.3 Clustering: K-Means

1. Siapkan semua file *.java (dari algoritma K-Means, link kode: https://goo.gl/N0QjY8 ) untuk dicompile ke *.jar:

Gambar 4.97 File *.java dari Algoritma K-Means

dalam folder “mapreduce”, semua file java-nya terdapat package “com. clustering.mapreduce”, dan dalam

folder “model”, semua file java-nya terdapat package “com.clustering.model”, jadi copy paste-nya ke folder “/usr/local/hadoop” mulai dari folder “com”

2. Jika pada file *.java yang ada package-nya sesuai penjelasan sebelumnya, maka di folder “/usr/local/hadoop”, akan

langsung diisi dengan folder “com” tersebut

Gambar 4.98 Folder Com

3. Lakukan perintah (Membuat file *.class): 3. Lakukan perintah (Membuat file *.class):

Source Code 4.42 Membuat File *.class Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details.

Gambar 4.99 File *.class

nidos@master:/usr/local/hadoop$ jar

cf KMeans.jar com/clustering/mapreduce/*.class com/clustering/model/*.class

Gambar 4.100 File KMeans.jar

Dimana: nidos@master:/usr/local/hadoop$ bin/hadoop jar

KMeans.jar com/clustering/mapreduce/KmeansClusteringJob sebagai main class

4. Hasil 1 of 2:

Gambar 4.101 Hasil 1 of 2

5. Siapkan semua file *.java (dari algoritma K-Means, link kode: https://goo.gl/N0QjY8 ) untuk dicompile ke *.jar:

Gambar 4.102 Folder mapreduce dan model dalam folder “mapreduce”, semua file java-nya terdapat

package “com. clustering.mapreduce”, dan dalam folder “model”, semua file java-nya terdapat package “com.clustering.model”, jadi copy paste-nya ke folder “/usr/local/hadoop” mulai dari folder “com”

6. Jika pada file *.java yang ada package-nya sesuai penjelasan sebelumnya, maka di folder “/usr/local/hadoop”, akan

langsung diisi dengan folde r “com” tersebut

Gambar 4.103 Folder com dalam folder hadoop

7. Lakukan perintah (Membuat file *.class):

nidos@master:/usr/local/hadoop$ bin/hdfs com.sun.tools.javac.Main com/clustering/mapreduce/*.java com/clustering/model/*.java Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details.

Source Code 4.43 Membuat File *.class

Gambar 4.104 File *.class

8. Lakukan perintah (Membuat file *.class  *.jar): 8. Lakukan perintah (Membuat file *.class  *.jar):

cf KMeans.jar com/clustering/mapreduce/*.class com/clustering/model/*.class

Source Code 4.44 Perintah Membuat file *.class  *.jar

Gambar 4.105 File KMeans.jar

9. Hasil 1 of 2:

Gambar 4.106 Hasil 1 of 2

10. Hasil 2 of 2:

Gambar 4.107 Hasil 2 of 2

Dokumen baru

PENGARUH PENERAPAN MODEL DISKUSI TERHADAP KEMAMPUAN TES LISAN SISWA PADA MATA PELAJARAN ALQUR’AN HADIS DI MADRASAH TSANAWIYAH NEGERI TUNGGANGRI KALIDAWIR TULUNGAGUNG Institutional Repository of IAIN Tulungagung

119 3984 16

PENGARUH PENERAPAN MODEL DISKUSI TERHADAP KEMAMPUAN TES LISAN SISWA PADA MATA PELAJARAN ALQUR’AN HADIS DI MADRASAH TSANAWIYAH NEGERI TUNGGANGRI KALIDAWIR TULUNGAGUNG Institutional Repository of IAIN Tulungagung

40 1057 43

PENGARUH PENERAPAN MODEL DISKUSI TERHADAP KEMAMPUAN TES LISAN SISWA PADA MATA PELAJARAN ALQUR’AN HADIS DI MADRASAH TSANAWIYAH NEGERI TUNGGANGRI KALIDAWIR TULUNGAGUNG Institutional Repository of IAIN Tulungagung

40 945 23

PENGARUH PENERAPAN MODEL DISKUSI TERHADAP KEMAMPUAN TES LISAN SISWA PADA MATA PELAJARAN ALQUR’AN HADIS DI MADRASAH TSANAWIYAH NEGERI TUNGGANGRI KALIDAWIR TULUNGAGUNG Institutional Repository of IAIN Tulungagung

21 632 24

PENGARUH PENERAPAN MODEL DISKUSI TERHADAP KEMAMPUAN TES LISAN SISWA PADA MATA PELAJARAN ALQUR’AN HADIS DI MADRASAH TSANAWIYAH NEGERI TUNGGANGRI KALIDAWIR TULUNGAGUNG Institutional Repository of IAIN Tulungagung

28 790 23

KREATIVITAS GURU DALAM MENGGUNAKAN SUMBER BELAJAR UNTUK MENINGKATKAN KUALITAS PEMBELAJARAN PENDIDIKAN AGAMA ISLAM DI SMPN 2 NGANTRU TULUNGAGUNG Institutional Repository of IAIN Tulungagung

60 1348 14

KREATIVITAS GURU DALAM MENGGUNAKAN SUMBER BELAJAR UNTUK MENINGKATKAN KUALITAS PEMBELAJARAN PENDIDIKAN AGAMA ISLAM DI SMPN 2 NGANTRU TULUNGAGUNG Institutional Repository of IAIN Tulungagung

66 1253 50

KREATIVITAS GURU DALAM MENGGUNAKAN SUMBER BELAJAR UNTUK MENINGKATKAN KUALITAS PEMBELAJARAN PENDIDIKAN AGAMA ISLAM DI SMPN 2 NGANTRU TULUNGAGUNG Institutional Repository of IAIN Tulungagung

20 825 17

KREATIVITAS GURU DALAM MENGGUNAKAN SUMBER BELAJAR UNTUK MENINGKATKAN KUALITAS PEMBELAJARAN PENDIDIKAN AGAMA ISLAM DI SMPN 2 NGANTRU TULUNGAGUNG Institutional Repository of IAIN Tulungagung

32 1111 30

KREATIVITAS GURU DALAM MENGGUNAKAN SUMBER BELAJAR UNTUK MENINGKATKAN KUALITAS PEMBELAJARAN PENDIDIKAN AGAMA ISLAM DI SMPN 2 NGANTRU TULUNGAGUNG Institutional Repository of IAIN Tulungagung

41 1350 23