MC855 - Projeto em Sistemas de Computação
Exemplos do Hadoop MapReduce
Segundo Semestre de 2014
Objetivo
No experimento anterior, você deve ter instalado o Hadoop em
modo single node e executado o tutorial Word Count v.01. Neste
experimento você vai poder ver e alterar o código dos outros
exemplos que vêm junto com o Hadoop. Os exemplos mais complexos podem
ser utilizados como aplicação para o projeto 1. Se você se basear em
um dos exemplos mais simples, mas tiver uma alteração interessante
para mostrar, também vale!
Exemplos do Hadoop Mapreduce
O pacote Hadoop vem com os seguintes exemplos. Você pode fazer
o download
do Hadoop com o código fonte ou obter apenas os
exemplos aqui.
- wordcount: A map/reduce program that counts the words in the input files.
- wordmean: A map/reduce program that counts the average length of the words in the input files.
- wordmedian A map/reduce program that counts the median length of the words in the input files.
- wordstandarddeviation: A map/reduce program that counts the standard deviation of the length of the words in the input files.
- aggregatewordcount: An Aggregate based map/reduce program that counts the words in the input files.
- aggregatewordhist: An Aggregate based map/reduce program
that computes the histogram of the words in the input files.
- grep: A map/reduce program that counts the matches of a regex in the input.
- randomwriter: A map/reduce program that writes 10GB of random data per node.
- randomtextwriter A map/reduce program that writes 10GB of random textual data per node.
- sort: A map/reduce program that sorts the data written by the random writer.
- pi: A map/reduce program that estimates the value of Pi using a quasi-Monte Carlo (qMC) method.
- bbp: A map/reduce program that uses Bailey-Borwein-Plouffe to compute exact digits of Pi.
- distbbp: A map/reduce program that uses a BBP-type method
to compute exact binary digits of Pi. This program is designed for
computing the n th bit of Pi, for large n, say n >= 10^8. For
computing lower bits of Pi, consider using bbp.
- pentomino: A map/reduce tile laying program to find solutions to pentomino problems.
- secondarysort: An example defining a secondary sort to the reduce.
- sudoku: A sudoku solver.
- join: A job that effects a join over sorted, equally partitioned datasets.
- multifilewc: A job that counts words from several files.
- dbcount: An example job that count the pageview counts from a database.
- teragen: Generate data for the terasort.
- terasort: Run the terasort.
- teravalidate: Checking results of terasort
Como rodar
A ideia é que você reproduza a abordagem utilizada na aula passada com
o Word Count com o código destes exemplos. Caso não queira rodar
inicialmente com
o Single
Node Cluster, utilize o
modo
Standalone.
Alguns código estão utilizando APIs obsoletas. Talvez você receba mensagens do tipo:
Note: RandomWriter.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Para solucionar o problema acrescente a linha @SuppressWarnings antes de criar o novo job
@SuppressWarnings("deprecation")
Job job = new Job(conf);
ou use a nova API:
Job job = Job.getInstance(conf, "random writer");
Jira
Note que os exemplos do MapReduce também estão no Jira. Faça uma busca
com Hadoop examples e veja as issues relacionadas.