Taula de continguts:
Definició: què significa MapReduce?
MapReduce és un model de programació introduït per Google per processar i generar grans conjunts de dades en clústers d’ordinadors.
Google va formular primer el marc amb l'objectiu de servir la indexació de pàgines web de Google i el nou marc va substituir els algorismes d'indexació anteriors. Els desenvolupadors principiants mostren que el marc de MapReduce és beneficiós perquè les rutines de biblioteques es poden utilitzar per crear programes paral·lels sense preocupacions sobre la comunicació amb infra-clúster, el control de tasques o els processos de gestió de fallades.
MapReduce funciona amb un gran grup de màquines de productes bàsics i és altament escalable. Té diverses formes d'implementació proporcionades per diversos llenguatges de programació, com ara Java, C # i C ++.
La Techopedia explica MapReduce
El marc MapReduce té dues parts:
- Funció anomenada "Map", que permet a diferents punts del clúster distribuït distribuir el seu treball
- Una funció anomenada "Reduir", que està dissenyada per reduir la forma final dels resultats dels clústers en una sortida
El principal avantatge del marc MapReduce és la seva tolerància a errades, en què s’esperen informes periòdics de cada node del clúster quan finalitzi el treball.
Una tasca es transfereix d'un node a un altre. Si el node mestre s’adona que un node ha estat en silenci durant un interval més llarg del previst, el node principal realitza el procés de reassignació a la tasca congelada / retardada.
El marc MapReduce està inspirat en les funcions "Map" i "Reduir" utilitzades en la programació funcional. El processament computacional es produeix a les dades emmagatzemades en un sistema de fitxers o dins d’una base de dades, que pren un conjunt de valors de clau d’entrada i produeix un conjunt de valors de clau de sortida.
Cada dia, s’executen nombrosos programes MapReduce i treballs MapReduce als clústers de Google. Els programes es paralitzen i s’executen automàticament en un gran grup de màquines de productes bàsics. El sistema d’execució tracta de particionar les dades d’entrada, programar l’execució del programa a un conjunt de màquines, manejar fallades de la màquina i gestionar la comunicació intermaquina necessària. Els programadors sense cap experiència amb sistemes distribuïts paral·lels i poden utilitzar fàcilment els recursos d’un gran sistema distribuït.
MapReduce s'utilitza en grep distribuït, ordenació distribuïda, inversió d'enllaços gràfics web, estadístiques de registre d'accés web, agrupació de documents, aprenentatge automàtic i traducció automàtica estadística.