O que é o MapReduce?

A estrutura de programação do MapReduce é usada para executar o processamento distribuído e paralelo com grandes conjuntos de dados em um ambiente distribuído. Mapear e Reduzir são as duas tarefas distintas de um programa de redução de mapas. Inicialmente na fase do mapa, os dados são lidos e pares de valores-chave são gerados a partir deles. Em seguida, esses pares de valores-chave são alimentados na tarefa de redução que agrega os dados do par de valores-chave no conjunto menor de valores que produz a saída final. Assim, uma tarefa de redução é sempre implementada após a conclusão de uma tarefa de mapa. É muito fácil dimensionar o processamento de dados em vários nós de computação.

Existem três etapas no programa:

  1. Estágio do Mapa
  2. Aleatório
  3. Reduzir Estágio

Exemplo :

Problema no número de palavras

Suponha que abaixo estão os dados de entrada:

  • Mike Jon Jake
  • Paul Paul Jake
  • Mike Paul Jon

1. Os dados acima são divididos em três divisões de entrada como abaixo:

  • Mike Jon Jake
  • Paul Paul Jake
  • Mike Paul Jon

2. Em seguida, esses dados são alimentados na próxima fase chamada fase de mapeamento.

Portanto, para a primeira linha (Mike Jon Jake), temos 3 pares de valores-chave - Mike, 1; Jon, 1; Jake, 1.

Abaixo está o resultado na fase de mapeamento:

  • Mike, 1
    Jon, 1
    Jake, 1
  • Paul, 1
    Paul, 1
    Jake, 1
  • Mike, 1
    Paul, 1
    Jon, 1

3. Os dados acima são então alimentados na próxima fase, denominada fase de classificação e embaralhamento.

Nesta fase, os dados são agrupados em chaves exclusivas e são classificados. Abaixo está o resultado na fase de classificação e embaralhamento:

  • Jake, (1, 1)
  • Jon, (1, 1)
  • Mike, (1, 1)
  • Paulo, (1, 1, 1)

4. Os dados acima são então alimentados na próxima fase denominada fase de redução.

Aqui todos os valores-chave são agregados e o número de 1s é contado. Abaixo está o resultado na fase de redução:

  • Jake, 2
  • Jon, 2
  • Mike, 2
  • Paul, 3

Vantagens do MapReduce:

Aqui, aprendemos algumas vantagens importantes do MapReduce Programming Framework,

1. Escalabilidade

O Hadoop como uma plataforma altamente escalável e em grande parte devido à sua capacidade de armazenar e distribuir grandes conjuntos de dados em vários servidores. Os servidores usados ​​aqui são bastante baratos e podem operar em paralelo. O poder de processamento do sistema pode ser aprimorado com a adição de mais servidores. Os sistemas tradicionais de gerenciamento de banco de dados relacional ou RDBMS não foram capazes de escalar para processar enormes conjuntos de dados.

2. Flexibilidade

O modelo de programação Hadoop MapReduce oferece flexibilidade para processar a estrutura ou dados não estruturados por várias organizações comerciais que podem fazer uso dos dados e operar em diferentes tipos de dados. Assim, eles podem gerar um valor comercial a partir dos dados que são significativos e úteis para as organizações comerciais para análise. Independentemente da fonte de dados, seja uma mídia social, fluxo de cliques, email etc. O Hadoop oferece suporte para muitos idiomas usados ​​no processamento de dados. Junto com tudo isso, a programação do Hadoop MapReduce permite muitos aplicativos, como análise de marketing, sistema de recomendação, armazém de dados e detecção de fraude.

3. Segurança e autenticação

Se qualquer pessoa de fora tiver acesso a todos os dados da organização e puder manipular vários petabytes dos dados, isso poderá causar muito dano em termos de transações comerciais em operação para a organização comercial. Esse risco é tratado pelo modelo de programação MapReduce, trabalhando com hdfs e HBase, que permite alta segurança, permitindo que apenas o usuário aprovado opere nos dados armazenados no sistema.

4. Solução econômica

Esse sistema é altamente escalável e é uma solução muito econômica para um modelo de negócios que precisa armazenar dados que estão crescendo exponencialmente de acordo com os requisitos do dia atual. No caso dos antigos sistemas tradicionais de gerenciamento de banco de dados relacional, não era tão fácil processar os dados como no sistema Hadoop em termos de escalabilidade. Nesses casos, a empresa foi forçada a reduzir o tamanho dos dados e implementar ainda mais a classificação com base em suposições de que certos dados poderiam ser valiosos para a organização e, portanto, remover os dados brutos. Aqui, a arquitetura de expansão do Hadoop com a programação do MapReduce vem em socorro.

5. Rápido

Sistema de arquivos distribuídos Hadoop O HDFS é um recurso importante usado no Hadoop, que está basicamente implementando um sistema de mapeamento para localizar dados em um cluster. A programação do MapReduce é a ferramenta usada para o processamento de dados e também está localizada no mesmo servidor, permitindo um processamento mais rápido dos dados. O Hadoop MapReduce processa grandes volumes de dados não estruturados ou semiestruturados em menos tempo.

6. Um modelo simples de programação

A programação do MapReduce é baseada em um modelo de programação muito simples, que basicamente permite que os programadores desenvolvam um programa MapReduce que pode lidar com muito mais tarefas com mais facilidade e eficiência. O modelo de programação MapReduce é escrito usando a linguagem Java, é muito popular e muito fácil de aprender. É fácil para as pessoas aprenderem a programação Java e projetar o modelo de processamento de dados que atenda às suas necessidades comerciais.

7. processamento paralelo

O modelo de programação divide as tarefas de uma maneira que permita a execução da tarefa independente em paralelo. Portanto, esse processamento paralelo facilita os processos de executar cada uma das tarefas, o que ajuda a executar o programa em muito menos tempo.

8. Disponibilidade e natureza resiliente

O modelo de programação do Hadoop MapReduce processa os dados enviando os dados para um nó individual e encaminha o mesmo conjunto de dados para os outros nós residentes na rede. Como resultado, em caso de falha em um nó específico, a mesma cópia de dados ainda está disponível nos outros nós, que podem ser usados ​​sempre que necessário, garantindo a disponibilidade dos dados.
Dessa maneira, o Hadoop é tolerante a falhas. Essa é uma funcionalidade exclusiva oferecida no Hadoop MapReduce, capaz de reconhecer rapidamente a falha e aplicar uma correção rápida para uma solução de recuperação automática.

Existem muitas empresas em todo o mundo que usam o redutor de mapas como facebook, yahoo etc.

Conclusão - O que é o MapReduce

A redução de mapa tem uma grande capacidade quando se trata de processamento de dados grandes, em comparação com os sistemas RDBMS tradicionais. Muitas organizações já perceberam seu potencial e estão migrando para essa nova tecnologia. Claramente, a redução de mapa tem muito a percorrer em uma grande plataforma de processamento de dados.

Artigos recomendados

Este foi um guia para o que é o MapReduce. Aqui discutimos o conceito básico, exemplos e vantagens do MapReduce. Você também pode consultar nossos outros artigos sugeridos para saber mais -

  1. O que é JavaScript?
  2. Perguntas da entrevista do MapReduce
  3. O que é Python
  4. Como o MapReduce funciona
  5. O que é Big Data e Hadoop

Categoria: