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/wordcountout
Parameter:
/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.