Anwendung MapReduce implementieren
Implementieren Sie eine MapReduce-Anwendung.
Anwendungs-JAR erstellen
Führen Sie mvn clean package aus dem Projekt-Root-Ordner aus, um die Anwendungs-JAR im Zielordner zu erstellen. Beispiel: wordcountjava-1.0-SNAPSHOT.jar.
mvn clean package
Dieser Befehl bereinigt alle vorherigen Build-Artefakte, lädt alle Abhängigkeiten herunter, die noch nicht installiert wurden, und erstellt und verpackt die Anwendung dann.
Nach Abschluss des Befehls enthält das Verzeichnis wordcountjava/target eine Datei mit dem Namen wordcountjava-1.0-SNAPSHOT.jar.
Hinweis
Die Datei
Die Datei
wordcountjava-1.0-SNAPSHOT.jar ist eine Uberjar-Datei, die nicht nur den WordCount-Job enthält, sondern auch Abhängigkeiten, die der Job zur Laufzeit erfordert.JAR-Datei der Anwendung MapReduce ausführen
Kopieren Sie die JAR auf einen beliebigen Knoten. Beispiel:
- yarn jar /tmp/wordcountjava-1.0-SNAPSHOT.jar org.apache.hadoop.examples.WordCount /example/data/input.txt /example/data/wordcountoutParameter:
-
/example/data/input.txt: HDFS-Pfad für die Eingabetextdatei -
/example/data/wordcountout: HDFS-Pfad für Ergebnis (Ausgabe des Reducers)
Beispielausgabe:
>> hdfs dfs -cat /example/data/wordcountout/*
zeal 1
zelus 1
zenith 2
Hinweis
Die Datei
Die Datei
wordcountjava-1.0-SNAPSHOT.jar ist eine Fat-JAR, wenn sie über maven-shade-plugin erstellt wurde. Alternativ können Sie mit der Option -libjars zusätzliche JARs für den Jobklassenpfad angeben. In einem sicheren Cluster sind kinit und entsprechende Ranger-Policys erforderlich, bevor der Job weitergeleitet wird.