Kompilieren und Ausführen der Aufgabe
In diesem Schritt werden wir die Java-Klassen kompilieren und die MapReduce-Aufgabe auf dem Hadoop-Cluster ausführen.
Zunächst müssen wir die Java-Klassen kompilieren:
javac -source 8 -target 8 -classpath $HADOOP_HOME/share/hadoop/common/hadoop-common-3.3.6.jar:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-3.3.6.jar:. *.java
Dieser Befehl kompiliert die Java-Klassen und legt die kompilierten .class
-Dateien im aktuellen Verzeichnis ab. Die Option -classpath
enthält die Hadoop-Bibliothekswege, die erforderlich sind, um den Code zu kompilieren, der Hadoop-Klassen verwendet. Die Parameter -source
und -target
werden verwendet, um die Java-Quell- und Zielbytecode-Versionen anzugeben, um der Version von Java in Hadoop zu entsprechen.
Als nächstes packen wir die class
-Dateien mit dem jar
-Befehl:
jar -cvf Artifact.jar *.class
Schließlich können wir die MapReduce-Aufgabe ausführen. Alle Daten über die Wüste sind bereits im HDFS-Verzeichnis /input
gespeichert:
hadoop jar Artifact.jar ArtifactDriver /input /output
Nach der Ausführung des Befehls sollten Sie Protokolle sehen, die den Fortschritt der MapReduce-Aufgabe anzeigen. Nachdem die Aufgabe abgeschlossen ist, können Sie die Ausgabedateien im HDFS-Verzeichnis /output
finden. Und verwenden Sie den folgenden Befehl, um das Ergebnis anzuzeigen:
hdfs dfs -ls /output
hdfs dfs -cat /output/part-r-00000