MapReduce: diferència entre les revisions
Contingut suprimit Contingut afegit
m Format |
m Enllaços a Google en català |
||
Línia 1:
'''MapReduce''' és un [[Paradigma de programació|model de programació]] i d'implementació per a processar i generar jocs de dades grans, amb un [[algorisme]] paral·lel i distribuït, en un [[clúster]].<ref>{{Ref-web |url=http://news.cnet.com/8301-10784_3-9955184-7.html |títol=Google spotlights data center inner workings {{!}} Tech news blog - CNET News.com<!-- Bot generated title --> |consulta=2015-02-24 |arxiuurl=https://web.archive.org/web/20131019063218/http://news.cnet.com/8301-10784_3-9955184-7.html |arxiudata=2013-10-19 }}</ref><ref>[http://static.googleusercontent.com/media/research.google.
Un programa MapReduce es compon d'un [[Subrutina | procediment]] '''Map()''' que efectua el filtrat i ordenat (per exemple ordenar estudiants pel primer cognom en cues, amb una cua per cognom) i un[[subrutina | procediment]] '''Reduce()''', que fa l'operació d'agregació (com, per exemple, comptar el nombre d'estudiants a cada cua, obtenint-ne la freqüència dels cognoms). El "Sistema MapReduce" (també conegut com a ''infraestructura'' o ''framework'') orquestra el procés [[Serialització|serialitzant]] (''marshalling'' en anglès) els servidors distribuïts, executant diverses tasques en paral·lel, gestionant les comunicacions de transferència de dades entre les diverses parts del sistema i proporcionant [[redundància]] i [[tolerància a errors]].
El model s'inspira en les funcions ''map'' i ''reduce'' usades habitualment en la [[programació funcional]],<ref name="map">"Our abstraction is inspired by the map and reduce primitives present in Lisp and many other functional languages." -[http://research.google.
|títol= MongoDB: Terrible MapReduce Performance
|editor= Stack Overflow
Línia 58:
=== Exemples ===
==== Recompte de paraules ====
L'exemple canònic de ''MapReduce'' compta l'aparició de cada paraula en un conjunt de documents:<ref>{{cite web|url=http://research.google.
'''function''' map(String name, String document):
''// name: document name''
|