Você está na página 1de 16

MapReduce

COMO FUNCIONA?
MapReduce

 Modelo de programação criado pelo Google.


 Que faz o processamento, a análise e o armazenamento de
grandes quantidade de dados.
 Utilizado em várias aplicações e em empresas de todo tipo de
setor
 inclusive
grandes companhias de tecnologia como Yahoo!,
Amazon Web Services (AWS), Intel, Microsoft e IBM.
MapReduce - Conceito

 Uma analogia que ajuda a entender tanto o conceito do MapReduce,


quanto da computação paralela é imaginar que existe uma tarefa:
contar o número de tomates em um cesto muito grande.

 No método tradicional em que uma pessoa faz tudo, ela levaria muito
tempo para contar os tomates.

 Tanto tempo que, ao terminar o trabalho, outros tomates teriam


amadurecido no cesto.
MapReduce

 No modelo do MapReduce, um coordenador responsável


pela tarefa pode dividir os tomates em 20 cestos;

 Vinte pessoas contam o que há em cada um deles e


entregam o total de tomates maduros em menor tempo.

 O coordenador recebe os vinte resultados e os reduz em


apenas uma saída que mostre a soma os valores
retornados pelos contadores.
MapReduce

 Se alguma pessoa não comparecer


 a tarefa é redistribuída entre os presentes
e continua sem nenhuma perda de informação ou
performance
 isso representa a tolerância a falhas do
MapReduce.
Fase 1: Mapeamento

 Como o próprio nome revela, o MapReduce é baseado nas


funções Map() e Reduce().

 Sua operação se divide em duas etapas:

 Na primeira fase, chamada de Map (mapeamento), os dados


são separados em pares de chave e valor, divididos em
fragmentos (cestos) e distribuídos para os nodos (pessoas),
onde serão processados (contadas).
Fase 2: Shuffle

 Depois da fase 1, pode ocorrer outras fases, como por exemplo, Shuffle.

 Essa fase agrupa os dados intermediários pela chave e produz um conjunto


de tuplas.

 Todos os valores associados a uma determinada chave serão agrupados em


uma lista.

 Após essa fase intermediária, o arcabouço também se encarrega de dividir e


replicar os conjuntos de tuplas para as tarefas Reduce que serão executadas.
Fase 3: Reduce

 A etapa de Reduce (redução), é a combinação dos


processamentos dos nodos por um master nodo.

O master nodo entregará uma resposta única à


requisição realizada pelo usuário.
Tolerância a Falhas em Hadoop

 A tolerância a falhas mencionada anteriormente aparece aqui.

 Caso um sistema ou disco de armazenamento falhe por algum


motivo, a tarefa é redistribuída pelo master node

 Fazendo assim com que não haja perda significativa de dados


ou de performance no processo.
Vantagens de utilizar o MapReduce
para analisar dados em larga escala

 Uma das vantagens do paradigma do MapReduce é a


velocidade da análise dos dados:
Em ferramentas tradicionais de processamento de dados, é
comum que eles sejam movidos do armazenamento para o
processamento, o que é lento e inviável para grandes
volumes.
Vantagens de utilizar o MapReduce
para analisar dados em larga escala

 Como o processamento é paralelo e fragmentado, pode


ocorrer mesmo em clusters de máquinas com configurações
modestas – não é preciso ter um supercomputador.
 Por essa razão, o MapReduce toma o caminho oposto e leva o
processamento para os locais em que os dados estão armazenados, o
que traz mais agilidade e eficiência à análise.
Vantagens de utilizar o MapReduce
para analisar dados em larga escala

O MapReduce é relativamente simples

 Possui uma boa curva de aprendizado, mesmo quando comparado


com outras soluções adotadas para lidar com big data, como o
Spark ou o Mesos.

 Essa facilidade de utilização e implementação, em grande parte


graças ao alto engajamento da comunidade de Hadoop, se reflete
na adoção maior desse modelo de programação.
Vantagens de utilizar o MapReduce
para analisar dados em larga escala

 Essa técnica não só reduz riscos de perda de dados devido a


falhas das máquinas como também facilita a combinação das
informações processadas pelos diversos equipamentos em
uma única resposta.

 Reforça a importância de big data para os negócios.


Aplicação Hadoop em Big Data

 No trabalho de um cientista de dados, muitas vezes, é preciso


lidar com Big Data, nome dado aos conjuntos de dados que,
devido ao seu volume ou complexidade, não podem ser
processados por ferramentas tradicionais.

 Big Data pode ser resolvido com Hadoop.


Data Mining

 Processo analítico projetado para explorar


grandes quantidades de dados (tipicamente
relacionados a negócios, mercado ou pesquisas
científicas), na busca de padrões consistentes
e/ou relacionamentos sistemáticos entre variáveis
e, então, validá-los aplicando os padrões
detectados a novos subconjuntos de dados.
 O processo consiste basicamente em 3 etapas:
exploração, construção de modelo ou definição
do padrão e validação/verificação.
 Data Mining se beneficia com Hadoop.
Aplicação Hadoop em Big Data

 No Hadoop, o resultado final é escrito em HDFS


(Hadoop Distributed File System)

 Sistema de arquivos da plataforma que lida com grandes


volumes de dados.

Você também pode gostar