MapReduce

Schrijver: Louise Ward
Datum Van Creatie: 9 Februari 2021
Updatedatum: 1 Juli- 2024
Anonim
What is MapReduce?
Video: What is MapReduce?

Inhoud

Definitie - Wat betekent MapReduce?

MapReduce is een programmeermodel dat door Google is geïntroduceerd voor het verwerken en genereren van grote gegevenssets op clusters van computers.


Google formuleerde eerst het raamwerk om de indexering van webpagina's van Google te dienen en het nieuwe raamwerk verving eerdere indexeringsalgoritmen. Beginnende ontwikkelaars vinden het MapReduce-framework nuttig omdat bibliotheekroutines kunnen worden gebruikt om parallelle programma's te maken zonder zorgen over communicatie tussen clusters, taakbewaking of processen voor foutafhandeling.

MapReduce draait op een groot cluster van commodity-machines en is zeer schaalbaar. Het heeft verschillende vormen van implementatie door meerdere programmeertalen, zoals Java, C # en C ++.

Een inleiding tot Microsoft Azure en de Microsoft Cloud | In deze gids leert u waar cloud computing over gaat en hoe Microsoft Azure u kan helpen bij het migreren en runnen van uw bedrijf vanuit de cloud.

Techopedia legt MapReduce uit

Het MapReduce-framework bestaat uit twee delen:

  1. Een functie genaamd "Map", waarmee verschillende punten van het gedistribueerde cluster hun werk kunnen verspreiden
  2. Een functie genaamd "verkleinen", die is ontworpen om de uiteindelijke vorm van de resultaten van de clusters te verminderen tot één uitvoer

Het belangrijkste voordeel van het MapReduce-framework is de fouttolerantie, waarbij periodieke rapporten van elk knooppunt in het cluster worden verwacht wanneer het werk is voltooid.


Een taak wordt overgedragen van het ene knooppunt naar het andere. Als het hoofdknooppunt opmerkt dat een knooppunt langer stil is geweest dan verwacht, voert het hoofdknooppunt het toewijzingsproces uit naar de bevroren / vertraagde taak.

Het MapReduce-framework is geïnspireerd op de functies "Map" en "Reduce" die worden gebruikt bij functioneel programmeren. Computationele verwerking vindt plaats op gegevens die zijn opgeslagen in een bestandssysteem of in een database, waarvoor een set invoersleutelwaarden nodig is en een set uitvoersleutelwaarden wordt geproduceerd.

Elke dag worden talloze MapReduce-programma's en MapReduce-taken uitgevoerd op Googles-clusters. Programma's worden automatisch parallel uitgevoerd en uitgevoerd op een groot cluster van commodity-machines. Het runtime-systeem houdt zich bezig met het partitioneren van de invoergegevens, het plannen van de uitvoering van programma's op een aantal machines, het omgaan met machinefouten en het beheren van de vereiste communicatie tussen machines. Programmeurs zonder enige ervaring met parallelle en gedistribueerde systemen kunnen gemakkelijk de middelen van een groot gedistribueerd systeem gebruiken.


MapReduce wordt gebruikt in gedistribueerde grep, gedistribueerde sortering, weblink-grafiekomkering, logboekstatistieken voor webtoegang, documentclustering, machine learning en statistische machinevertaling.