Implementando o Aplicativo MapReduce
Implemente um aplicativo MapReduce.
Construindo a Aplicação JAR
Execute mvn clean package
na pasta raiz do projeto para criar o JAR do aplicativo na pasta de destino. Por exemplo, wordcountjava-1.0-SNAPSHOT.jar
.
mvn clean package
Este comando limpa todos os artefatos de build anteriores, baixa todas as dependências que ainda não foram instaladas e, em seguida, cria e empacota o aplicativo.
Depois que o comando termina, o diretório wordcountjava/target
contém um arquivo chamado wordcountjava-1.0-SNAPSHOT.jar
.
Observação
O arquivo
O arquivo
wordcountjava-1.0-SNAPSHOT.jar
é um uberjar, que contém não apenas o job WordCount, mas também dependências que o job exige no runtime.Executando o JAR do Aplicativo MapReduce
Copie o JAR para qualquer nó. Por exemplo:
- 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
: Caminho HDFS para o arquivo de texto de entrada/example/data/wordcountout
: Caminho do HDFS para o resultado (saída do redutor)
Saída de amostra:
>> hdfs dfs -cat /example/data/wordcountout/*
zeal 1
zelus 1
zenith 2
Observação
O arquivo
O arquivo
wordcountjava-1.0-SNAPSHOT.jar
é um JAR gordo se criado por meio do maven-shade-plugin. Como alternativa, use -libjars
como opção para fornecer JARs adicionais ao caminho da classe de job. Em um cluster seguro, kinit
e as políticas apropriadas do Ranger são necessárias antes do envio do job.