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/wordcountoutParâ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.