Implementazione dell'applicazione MapReduce
Implementare un'applicazione MapReduce.
Creazione del file JAR dell'applicazione
Eseguire mvn clean package
dalla cartella radice del progetto per creare il file JAR dell'applicazione nella cartella di destinazione. Ad esempio, wordcountjava-1.0-SNAPSHOT.jar
.
mvn clean package
Questo comando pulisce tutti gli artifact di build precedenti, scarica tutte le dipendenze non ancora installate, quindi crea e crea un package per l'applicazione.
Al termine del comando, la directory wordcountjava/target
contiene un file denominato wordcountjava-1.0-SNAPSHOT.jar
.
Nota
Il file
Il file
wordcountjava-1.0-SNAPSHOT.jar
è un uberjar che contiene non solo il job WordCount, ma anche le dipendenze richieste dal job in runtime.Esecuzione del file JAR dell'applicazione MapReduce
Copiare il file JAR in qualsiasi nodo. Ad esempio:
- yarn jar /tmp/wordcountjava-1.0-SNAPSHOT.jar org.apache.hadoop.examples.WordCount /example/data/input.txt /example/data/wordcountout
Parametri:
/example/data/input.txt
: percorso HDFS per il file di testo di input/example/data/wordcountout
: percorso HDFS per il risultato (output del riduttore)
Output di esempio:
>> hdfs dfs -cat /example/data/wordcountout/*
zeal 1
zelus 1
zenith 2
Nota
Il file
Il file
wordcountjava-1.0-SNAPSHOT.jar
è un file JAR grasso se creato tramite maven-shade-plugin. In alternativa, utilizzare l'opzione -libjars
per fornire JAR aggiuntivi al percorso della classe di job. In un cluster sicuro sono necessari kinit
e i criteri Ranger appropriati prima di sottomettere il job.