MapReduce: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
Linha 21:
 
===Função Mapa===
A função Mapa leva uma série de pares (chave / valor,) processa cada, um e gera zero ou mais (chave / valor) pares de saída. Os tipos de entrada e de saída do mapa podepodem ser (e geralmente são) diferentes umas das outras.
Se o aplicativo está fazendo uma contagem de palavras, a função de mapa iria quebrar a linha em palavras e de saída de um par chave / valor para cada palavra. Cada par de saída deve conter a palavra como a chave eo número de ocorrências dessa palavra na linha como o valor.
 
===Função de partição===
Cada função de saída Mapa é alocadoalocada para um redutor determinado pela função de partição do pedido de Sharding propósitos. A função de partição é dada a chave e o número de redutores e retorna o índice de reduzir o desejado.
Um padrão típico é de hash a chave e use o valor de hash modulo o número de redutores. É importante escolher uma função de partição que dá uma distribuição aproximadamente uniforme de dados por caco para balanceamento de carga fins, caso contrário, a operação MapReduce pode ser realizada à espera de redutores lentos (redutores atribuído mais do que a sua quota de dados) para concluir.
Entre o mapa e reduzir as fases, os dados são baralhados (paralelo-ordenadas / trocada entre os nós), a fim de mover os dados a partir do nó do mapa que produziu o fragmento em que ele vai ser reduzida. O shuffle às vezes pode demorar mais do que o tempo de computação, dependendo da largura de banda da rede, a velocidade da CPU, os dados produzidos e tempo gasto pelo mapa e reduzir cálculos.