MapReduce: Simplified Data Processing on Large Clusters

MapReduce is een programmeermodel en een bijbehorende implementatie voor het verwerken en genereren van grote datasets. Gebruikers specificeren een map functie die een sleutel/waarde paar verwerkt om een set van tussenliggende sleutel/waarde paren te genereren, en een reduce functie die alle tussenliggende waarden geassocieerd met dezelfde tussenliggende sleutel samenvoegt. Veel echte wereld taken zijn expressible in dit model, zoals getoond in het papier.

programma ‘ s die in deze functionele stijl zijn geschreven, worden automatisch parallelliseerd en uitgevoerd op een grote groep grondstoffenmachines. Het run-time systeem zorgt voor de details van het partitioneren van de invoergegevens, het plannen van de uitvoering van het programma over een set van machines, het omgaan met machine storingen, en het beheren van de vereiste Inter-machine communicatie. Dit stelt programmeurs zonder enige ervaring met parallelle en gedistribueerde systemen in staat om gemakkelijk gebruik te maken van de middelen van een groot gedistribueerd systeem.

onze implementatie van MapReduce draait op een grote cluster van grondstoffenmachines en is zeer schaalbaar: een typische MapReduce-berekening verwerkt vele terabytes aan gegevens op duizenden machines. Programmeurs vinden het systeem gemakkelijk te gebruiken: honderden MapReduce programma ’s zijn geïmplementeerd en meer dan duizend MapReduce jobs worden uitgevoerd op Google’ s clusters elke dag.

HTML-dia ‘ s