Implémentation de l'application MapReduce
Implémentez une application MapReduce.
Créer le fichier JAR d'application
Exécutez mvn clean package
à partir du dossier racine du projet pour créer un fichier JAR d'application dans le dossier cible. Par exemple, wordcountjava-1.0-SNAPSHOT.jar
.
mvn clean package
Cette commande nettoie les artefacts de build précédents, télécharge les dépendances qui n'ont pas encore été installées, puis génère et package l'application.
Une fois la commande terminée, le répertoire wordcountjava/target
contient un fichier nommé wordcountjava-1.0-SNAPSHOT.jar
.
Remarque
Le fichier
Le fichier
wordcountjava-1.0-SNAPSHOT.jar
est un fichier uberjar, qui contient non seulement le travail WordCount, mais également les dépendances requises par le travail lors de l'exécution.Exécution du fichier JAR d'application MapReduce
Copiez le fichier JAR sur n'importe quel noeud. Par exemple :
- yarn jar /tmp/wordcountjava-1.0-SNAPSHOT.jar org.apache.hadoop.examples.WordCount /example/data/input.txt /example/data/wordcountout
Paramètres :
/example/data/input.txt
: chemin HDFS du fichier texte d'entrée/example/data/wordcountout
: chemin HDFS pour le résultat (sortie du réducteur)
Exemple de sortie :
>> hdfs dfs -cat /example/data/wordcountout/*
zeal 1
zelus 1
zenith 2
Remarque
Le fichier
Le fichier
wordcountjava-1.0-SNAPSHOT.jar
est un fichier FAT JAR s'il est créé via maven-shade-plugin. Vous pouvez également utiliser -libjars
en tant qu'option pour fournir des fichiers JAR supplémentaires au chemin de classe de travail. Dans un cluster sécurisé, les stratégies kinit
et Ranger appropriées sont requises avant de soumettre le travail.