O que é MapReduce no Hadoop? Grandes dados Archiarquitetura
O que é MapReduce no Hadoop?
MapaReduzir é uma estrutura de software e modelo de programação usado para processar grandes quantidades de dados. MapaReduzir O programa funciona em duas fases, denominadas Map e Reduce. As tarefas de Map lidam com a divisão e o mapeamento.ping de dados enquanto as tarefas de Redução embaralham e reduzem os dados.
O Hadoop é capaz de executar programas MapReduce escritos em várias linguagens: Java, Rubi, Python e C++. Os programas do Map Reduce na computação em nuvem são paralelos por natureza, portanto, são muito úteis para executar análises de dados em larga escala usando várias máquinas no cluster.
A entrada para cada fase é valor chave pares. Além disso, todo programador precisa especificar duas funções: função de mapa e função de redução.
MapaReduzir Archiarquitetura em Big Data explicada com exemplo
Todo o processo passa por quatro fases de execução, a saber: divisão, mapeamento.ping, embaralhando e reduzindo.
Agora, neste tutorial do MapReduce, vamos entender com um exemplo do MapReduce:
Considere que você tem os seguintes dados de entrada para seu MapReduce em Programa de big data
Welcome to Hadoop Class Hadoop is good Hadoop is bad

A saída final da tarefa MapReduce é
| ruim | 1 |
| Aula | 1 |
| Bom estado, com sinais de uso | 1 |
| Hadoop | 3 |
| is | 2 |
| para | 1 |
| Bem-vindo | 1 |
Os dados passam pelas seguintes fases do MapReduce em Big Data
Divisões de entrada:
Uma entrada para um trabalho MapReduce em Big Data é dividida em partes de tamanho fixo chamadas divisões de entrada A divisão de entrada é uma parte da entrada que é consumida por um único mapa
Mapaping
Esta é a primeira fase na execução de um programa MapReduce. Nesta fase, os dados de cada divisão são passados para um mapa.ping função para produzir valores de saída. Em nosso exemplo, uma tarefa de mapeamento.ping A fase consiste em contar o número de ocorrências de cada palavra a partir das divisões de entrada (mais detalhes sobre a divisão de entrada são fornecidos abaixo) e preparar uma lista no formato de
Baralhar
Esta fase consome a saída do Mapa.ping fase. Sua tarefa é consolidar os registros relevantes do Mapaping saída de fase. Em nosso exemplo, as mesmas palavras são agrupadas juntamente com suas respectivas frequências.
Reduzir
Nesta fase, os valores de saída da fase Shuffling são agregados. Esta fase combina valores da fase Shuffling e retorna um único valor de saída. Resumindo, esta fase resume o conjunto de dados completo.
No nosso exemplo, esta fase agrega os valores da fase Shuffling, ou seja, calcula o total de ocorrências de cada palavra.
MapaReduzir Archiarquitetura explicada em detalhes
- Uma tarefa de mapa é criada para cada divisão, que então executa a função de mapa para cada registro na divisão.
- É sempre benéfico ter múltiplas divisões porque o tempo necessário para processar uma divisão é pequeno em comparação com o tempo necessário para processar toda a entrada. Quando as divisões são menores, é melhor balancear a carga do processamento, pois estamos processando as divisões em paralelo.
- No entanto, também não é desejável ter divisões de tamanho muito pequeno. Quando as divisões são muito pequenas, a sobrecarga de gerenciamento das divisões e criação de tarefas de mapa começa a dominar o tempo total de execução do trabalho.
- Para a maioria dos trabalhos, é melhor criar um tamanho de divisão igual ao tamanho de um bloco HDFS (que é 64 MB, por padrão).
- A execução de tarefas de mapa resulta na gravação da saída em um disco local no respectivo nó e não no HDFS.
- O motivo para escolher o disco local em vez do HDFS é evitar a replicação que ocorre no caso de operação de armazenamento do HDFS.
- A saída do mapa é uma saída intermediária que é processada por tarefas de redução para produzir a saída final.
- Assim que o trabalho for concluído, a saída do mapa pode ser descartada. Portanto, armazená-lo no HDFS com replicação torna-se um exagero.
- No caso de falha do nó, antes que a saída do mapa seja consumida pela tarefa de redução, o Hadoop executa novamente a tarefa de mapa em outro nó e recria a saída do mapa.
- A tarefa Reduzir não funciona no conceito de localidade de dados. Uma saída de cada tarefa de mapa é alimentada na tarefa de redução. A saída do mapa é transferida para a máquina onde a tarefa de redução está sendo executada.
- Nesta máquina, a saída é mesclada e depois passada para a função de redução definida pelo usuário.
- Ao contrário da saída do mapa, a saída reduzida é armazenada em HDFS (a primeira réplica é armazenada no nó local e as outras réplicas são armazenadas em nós fora do rack). Então, escrevendo a saída de redução
Como funciona a organização do MapReduce?
Agora neste tutorial do MapReduce, aprenderemos como funciona o MapReduce
Hadoop divide o trabalho em tarefas. Existem dois tipos de tarefas:
- Mapear tarefas (Divisões e Mapa)ping)
- Reduza tarefas (embaralhar, reduzir)
como acima mencionado.
O processo completo de execução (execução das tarefas Mapear e Reduzir, ambas) é controlado por dois tipos de entidades chamadas
- Trabalhotracker: Age como um dominar (responsável pela execução completa do trabalho enviado)
- Tarefa múltipla Trackers: Age como escravos cada um deles realizando o trabalho
Para cada job enviado para execução no sistema, existe um Trabalhotracker que reside em Namenode e há múltiplas tarefastrackers que residem em nó de dados.

- Um trabalho é dividido em várias tarefas que são executadas em vários nós de dados em um cluster.
- É responsabilidade do trabalho tracker para coordenar a atividade, agendando tarefas para serem executadas em diferentes nós de dados.
- A execução de tarefas individuais deve então ser acompanhada pela própria tarefa. tracker, que reside em cada nó de dados que executa parte do trabalho.
- Tarefa tracA responsabilidade do ker é enviar o relatório de progresso para o trabalho. tracquer.
- Além disso, tarefa tracker envia periodicamente 'batimento cardiaco' sinal para o trabalhotracker para notificá-lo sobre o estado atual do sistema.
- Portanto, trabalho tracker mantém track do progresso geral de cada tarefa. Em caso de falha da tarefa, a tarefa tracKer pode reagendá-lo para uma tarefa diferente. tracquer.
