Implementación de la aplicación MapReduce
Implante una aplicación MapReduce.
Creación del JAR de Aplicación
Ejecute mvn clean package
desde la carpeta raíz del proyecto para crear el JAR de la aplicación en la carpeta de destino. Por ejemplo, wordcountjava-1.0-SNAPSHOT.jar
.
mvn clean package
Este comando limpia cualquier artefacto de compilación anterior, descarga cualquier dependencia que aún no se haya instalado y, a continuación, crea y empaqueta la aplicación.
Una vez finalizado el comando, el directorio wordcountjava/target
contiene un archivo denominado wordcountjava-1.0-SNAPSHOT.jar
.
Nota
El archivo
El archivo
wordcountjava-1.0-SNAPSHOT.jar
es un uberjar, que contiene no solo el trabajo WordCount, sino también las dependencias que necesita el trabajo en tiempo de ejecución.Ejecución del archivo JAR de la aplicación MapReduce
Copie el JAR en cualquier nodo. Por ejemplo:
- yarn jar /tmp/wordcountjava-1.0-SNAPSHOT.jar org.apache.hadoop.examples.WordCount /example/data/input.txt /example/data/wordcountout
Parámetros:
/example/data/input.txt
: ruta de acceso de HDFS para el archivo de texto de entrada/example/data/wordcountout
: ruta de HDFS para el resultado (salida del reductor)
Salida de ejemplo:
>> hdfs dfs -cat /example/data/wordcountout/*
zeal 1
zelus 1
zenith 2
Nota
El archivo
El archivo
wordcountjava-1.0-SNAPSHOT.jar
es un JAR gordo si se crea a través de maven-shade-plugin. También puede utilizar -libjars
como opción para proporcionar JAR adicionales a la ruta de acceso de clase de trabajo. En un cluster seguro, se necesitan kinit
y las políticas de Ranger adecuadas antes de ejecutar el trabajo.