O paradigma MapReduce
O paradigma MapReduce foi criado em 2003 para permitir o processamento de grandes conjuntos de dados de forma massivamente paralela. O objetivo do modelo MapReduce é simplificar a abordagem de transformação e análise de grandes conjuntos de dados, além de permitir que os desenvolvedores se concentrem nos algoritmos em vez de no gerenciamento de dados. O modelo permite a implementação simples de algoritmos paralelos de dados. Há várias implementações desse modelo, incluindo a abordagem do Google, programada em C++, e a implementação Hadoop da Apache, programada em Java. Ambos são executados em grandes clusters de hardware de commodity em um ambiente compartilhado e ponto a ponto.
- Mapa
- A função de mapa, também chamada de tarefa de mapa, processa um único par de entrada de chave/valor e produz um conjunto de pares de chave/valor intermediários.
- Reduzir
- A função de redução, também chamada de tarefa de redução, consiste em pegar todos os pares de chave/valor produzidos na fase de mapa que compartilham a mesma chave intermediária e produzir zero, um ou mais itens de dados.
Observe que as funções map e reduce não tratam da paralelização e da execução dos trabalhos MapReduce. Essa é a responsabilidade do modelo MapReduce, que cuida automaticamente da distribuição dos dados de entrada, bem como do agendamento e do gerenciamento das tarefas de mapeamento e redução.