MO809/MC964 - Tópicos em Computação Distribuída
Experimento com o Hadoop MapReduce
Segundo Semestre de 2015
Objetivo e avaliação
Fazer experimento com aplicação MapReduce que tenha sido tema de artigo científico.
Pontuação: 2.0 (2 pontos equivalem a 20% da média final)
- Ambientação (0.3)
- Escolha do artigo (0.3)
- Implementação (0.7)
- Apresentação (0.7)
Exemplos:
Ambientação
Instalação do Hadoop
Você deve instalar o Hadoop (não precisa ser a
versão com código fonte). Existem três modos:
Sugiro o modo Pseudo-Distributed, também chamado de Single Node
Cluster. Neste modo, você precisará de apenas um
computador e poderá verificar o funcionamento dos componentes
do Hadoop (HDFS e YARN).
Principais passos:
MapReduce
WordCount
Você deve rodar o código do WordCount v1.0, seguindo o
MapReduce Tutorial
A partir deste passo, você poderá alterar este teste,
para implementar o seu próprio código mapreduce. Por exemplo,
você pode escrever uma variação que conta as
palavras de mesmo tamanho ou as palavras que começam com uma
dada letra (veja Developing First MapReduce Job).
Outros exemplos
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