MapReduce e Amazon Elastic MapReduce

Antes de falar sobre o HDFS , gostaria de abordar um pouco mais sobre o MapReduce e também sobre o Amazon Elastic MapReduce, que é a oferta da Amazon que possibilita executar jobs MapReduce em um ambiente baseado em Cloud Computing.


- MapReduce

Um job do MapReduce é uma unidade de trabalho a ser executada, que consiste de dados de input, programas MapReduce ( para realizar as operações de mapeamento e redução ) e as informações de configurações do ambiente.  O Hadoop divide o "job input" , que são os dados a serem trabalhados, em "splits", que são alocados em diversos nós, que podem ser locais ou remotos.  Para cada split localizado em um bloco HDFS ( Hadoop Distributed File System ) existe uma tarefa MapReduce associada, que pode estar ou não no mesmo nó.  

As figuras abaixo, extraídas do livro Hadoop The Definitive Guide de Tom White, mostram como pode ser realizado o encadeamento de tarefas Map e Reduce e a distribuição dos splits nos nós.






- Amazon Elastic MapReduce

O Amazon Elastic MapReduce (EMR) realiza uma implementação do framework MapReduce nas instâncias do Amazon EC2, subdividindo os dados de um fluxo de trabalho em partes menores para que possam ser processados ( Map ) paralelamente e, por fim, recombinando os dados processados na solução final ( Reduce ). O Amazon S3 atua como fonte dos dados que estão sendo analisados e como destino de saída dos resultados finais.  Para realizar o processamento utiliza uma arquitetura baseada em Master - Workers ou Slaves.



Um cluster Hadoop rodando no Amazon EMR pode utilizar instãncias virtuais de servidores Linux como mestres e escravos,  pode utilizar o Amazon S3 como bulk storage dos dados de input e output , e o Amazon CloudWatch para monitorar a performance do cluster e lançar alertas.  



Clique no link para saber mais sobre o Amazon EMR : Amazon Elastic MapReduce

Flávio

Comentários

Postagens mais visitadas deste blog

Hive, o que é ?

O que é o HDFS ?

O que é o HBASE ?