MapReduce no Hadoop: Fases, Entradas e Saídas, Funções e Vantagens

Publicados: 2020-12-24

Hadoop MapReduce é um modelo de programação e estrutura de software usado para escrever aplicativos que processam grandes quantidades de dados. Existem duas fases no programa MapReduce, Mapear e Reduzir.

A tarefa Map inclui a divisão e mapeamento dos dados, pegando um conjunto de dados e convertendo-o em outro conjunto de dados, onde os elementos individuais são divididos em tuplas, ou seja, pares chave/valor. Depois disso, a tarefa Reduzir embaralha e reduz os dados, o que significa que combina as tuplas de dados com base na chave e modifica o valor da chave de acordo.

Na estrutura do Hadoop, o modelo MapReduce é o componente principal para o processamento de dados. Usando esse modelo, é muito fácil dimensionar um aplicativo para executar centenas, milhares e muito mais máquinas em um cluster apenas fazendo uma alteração na configuração. Isso também ocorre porque os programas do modelo em computação em nuvem são de natureza paralela. O Hadoop tem a capacidade de executar o MapReduce em muitas linguagens, como Java, Ruby, Python e C++. Leia mais sobre arquitetura mapreduce.

Índice

Entradas e saídas

O modelo MapReduce opera em pares <chave, valor>. Ele visualiza a entrada para os trabalhos como um conjunto de pares <chave, valor> e produz um conjunto diferente de pares <chave, valor> como saída dos trabalhos. A entrada de dados é suportada por duas classes nesta estrutura, a saber, InputFormat e RecordReader.

O primeiro é consultado para determinar como os dados de entrada devem ser particionados para as tarefas de mapa, enquanto o segundo lê os dados das entradas. Para a saída de dados também existem duas classes, OutputFormat e RecordWriter. A primeira classe executa uma validação básica das propriedades do coletor de dados e a segunda classe é usada para gravar cada saída do redutor no coletor de dados.

Quais são as fases do MapReduce?

No MapReduce um dado passa pelas seguintes fases.

Divisões de entrada: Uma entrada no modelo MapReduce é dividida em pequenas partes de tamanho fixo chamadas divisões de entrada. Esta parte da entrada é consumida por um único mapa. Os dados de entrada são geralmente um arquivo ou diretório armazenado no HDFS.

Mapeamento: Esta é a primeira fase na execução do programa map-reduce onde os dados em cada divisão são passados ​​linha por linha, para uma função mapeadora para processá-los e produzir os valores de saída.

Embaralhamento: É uma parte da fase de saída do Mapeamento onde os registros relevantes são consolidados a partir da saída. Consiste em mesclar e classificar. Assim, todos os pares chave-valor que possuem as mesmas chaves são combinados. Na classificação, as entradas da etapa de mesclagem são obtidas e classificadas. Ele retorna pares chave-valor, classificando a saída.

Reduzir: Todos os valores da fase de embaralhamento são combinados e um único valor de saída é retornado. Assim, resumindo todo o conjunto de dados.

Leia também: Perguntas e respostas da entrevista Mapreduce

Como funciona o MapReduce Organize?

O Hadoop divide uma tarefa em duas partes, tarefas de mapa, que incluem divisões e mapeamento, e tarefas de redução, que incluem embaralhamento e redução. Estes foram mencionados nas fases na seção acima. A execução dessas tarefas é controlada por duas entidades chamadas JobTracker e Multiple Task tracker.

Com cada trabalho enviado para execução, há um JobTracker que reside no NameNode e vários rastreadores de tarefas que residem no DataNode. Um trabalho é dividido em várias tarefas que são executadas em vários nós de dados no cluster. O JobTracker coordena a atividade agendando tarefas para execução em vários nós de dados.

O rastreador de tarefas cuida da execução de tarefas individuais. Ele também envia o relatório de progresso para o JobTracker. Periodicamente, ele envia um sinal ao JobTracker para notificar o estado atual do sistema. Quando há uma falha de tarefa, o JobTracker a reagenda em um rastreador de tarefas diferente.

Vantagens do MapReduce

Há uma série de vantagens para aplicações que usam este modelo. Estes são

  • – Big data pode ser facilmente manipulado.
  • – Os conjuntos de dados podem ser processados ​​em paralelo.
  • – Todos os tipos de dados, como estruturados, não estruturados e semiestruturados, podem ser facilmente processados.
  • – Alta escalabilidade é fornecida.
  • – Contar ocorrências de palavras é fácil e esses aplicativos podem ter coleta massiva de dados.
  • – Grandes amostras de respondentes podem ser acessadas rapidamente.
  • – Na análise de dados, uma ferramenta genérica pode ser usada para pesquisar ferramentas.
  • – O tempo de balanceamento de carga é oferecido em grandes clusters.
  • – O processo de extração de contextos de locais de usuários, situações, etc. é facilmente possível.
  • – Bom desempenho de generalização e convergência são fornecidos para esses aplicativos.

Deve ler: Mapreduce vs Apache Spark

Conclusão

Descrevemos o MapReduce no Hadoop em detalhes. Também fornecemos uma breve descrição da estrutura junto com as definições de Map e Reduce na introdução. As definições de vários termos usados ​​neste modelo foram fornecidas juntamente com detalhes das entradas e saídas.

Uma explicação detalhada das várias fases envolvidas na estrutura MapReduce ilustra em detalhes como o trabalho é organizado. A lista de vantagens de usar o MapReduce para aplicativos dá uma visão clara de seu uso e relevância

Se você estiver interessado em saber mais sobre Big Data, confira nosso programa PG Diploma in Software Development Specialization in Big Data, projetado para profissionais que trabalham e fornece mais de 7 estudos de caso e projetos, abrange 14 linguagens e ferramentas de programação, práticas práticas workshops, mais de 400 horas de aprendizado rigoroso e assistência para colocação de emprego com as principais empresas.

Aprenda cursos de desenvolvimento de software online das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.

Lidere a revolução tecnológica orientada a dados

Programa Avançado de Certificação em Big Data do ITT Bangalore