Membro : Iniciar |Inscrición |Cargando coñecemento
Buscar
MapReduce [Modificación ]
MapReduce é un modelo de programación e unha implementación asociada para procesar e xerar grandes conxuntos de datos cun algoritmo distribuído paralelo nun cluster.
Un programa MapReduce está composto por un método (método) Map () que realiza filtrado e ordenación (como ordenar os alumnos por nome en filas, unha cola para cada nome) e un método Reducir () que realiza unha operación de resumo (como contando o número de alumnos en cada cola, producindo frecuencias de nome). O "Sistema MapReduce" (tamén chamado "infraestrutura" ou "cadro") orquestra o procesamento ordenando os servidores distribuídos, executando as distintas tarefas en paralelo, xestionando as comunicacións e as transferencias de datos entre as distintas partes do sistema e proporcionando redundancia e tolerancia á falla.
O modelo é unha especialización da estratexia de combinación dividida-aplicar-se para a análise de datos. Está inspirado no mapa e reduce as funcións comúnmente utilizadas na programación funcional, aínda que a súa finalidade no marco de MapReduce non é o mesmo que nas súas formas orixinais. As contribucións clave do marco MapReduce non son o mapa real e reducen as funcións (que, por exemplo, parecen as operacións de redución e dispersión do estándar da interface de paso de mensaxes de 1995), pero a escalabilidade e tolerancia a fallos obtidas para unha variedade de aplicacións optimizando a motor de execución. Polo tanto, unha implementación de One-threaded de MapReduce xeralmente non será máis rápida que unha implementación tradicional (non MapReduce); calquera ganancia normalmente só se ve con implementacións multi-threaded. O uso deste modelo só é beneficioso cando se inicia a operación de redirección distribuída (que reduce o custo de comunicación da rede) e as funcións de tolerancia á falla do marco MapReduce. Optimizar o custo de comunicación é esencial para un bo algoritmo MapReduce.
MapReduce as bibliotecas foron escritas en moitos idiomas de programación, con diferentes niveis de optimización. Unha implementación popular de código aberto que ten soporte para búsquedas distribuídas forma parte de Apache Hadoop. O nome MapReduce referiuse originalmente á tecnoloxía propietaria de Google, pero desde entón xenéricouse. En 2014, Google xa non estaba a usar MapReduce como o seu principal modelo de procesamento de datos Big e o desenvolvemento de Apache Mahout pasou a mecanismos máis capaces e menos orientados ao disco que incorporaron mapas completos e reduciron as capacidades.
1.Visión xeral
2.Vista lóxica
2.1.Exemplos
3.Fluxo de datos
3.1.Lector de entrada
3.2.Función do mapa
3.3.Función de partición
3.4.Función de comparación
3.5.Reducir a función
3.6.Escritor de saída
4.Consideracións de rendemento
5.Distribución e fiabilidade
6.Usos
7.Crítica
7.1.Falta de novidade
7.2.Marco de programación restrinxido
8.Grupos de conferencias e usuarios
[Cargar Máis Contido ]


Dereitos de autor @2018 Lxjkh