Wat is MapReduce?

MapReduce-programmeerraamwerk wordt gebruikt om gedistribueerde en parallelle verwerking uit te voeren met grote gegevenssets in een gedistribueerde omgeving. Kaart en Verkleinen zijn de twee verschillende taken van een kaartreductieprogramma. Eerst in de kaartfase worden de gegevens gelezen en worden sleutel / waarde-paren eruit gegenereerd. Vervolgens worden deze sleutel / waarde-paren ingevoerd in de reductietaak die de sleutel / waarde-paargegevens verzamelt in de kleinere reeks waarden die de uiteindelijke uitvoer produceren. Een reductietaak wordt dus altijd geïmplementeerd nadat een kaarttaak is voltooid. Het is heel eenvoudig om gegevensverwerking over meerdere rekenknooppunten te schalen.

Er zijn namelijk drie fasen in het programma:

  1. Kaartstadium
  2. Shuffle-fase
  3. Stadium verkleinen

Voorbeeld :

Wordcount-probleem

Stel dat hieronder de invoergegevens zijn:

  • Mike Jon Jake
  • Paul Paul Jake
  • Mike Paul Jon

1. De bovenstaande gegevens zijn verdeeld in drie invoersplitsingen zoals hieronder:

  • Mike Jon Jake
  • Paul Paul Jake
  • Mike Paul Jon

2. Vervolgens worden deze gegevens ingevoerd in de volgende fase, de toewijzingsfase.

Dus voor de eerste regel (Mike Jon Jake) hebben we 3 sleutel / waarde-paren - Mike, 1; Jon, 1; Jake, 1.

Hieronder staat het resultaat in de mappingfase:

  • Mike 1
    Jon, 1
    Jake, 1
  • Paul, 1
    Paul, 1
    Jake, 1
  • Mike 1
    Paul, 1
    Jon, 1

3. De bovenstaande gegevens worden vervolgens ingevoerd in de volgende fase, de sorteer- en schudfase.

In deze fase worden de gegevens gegroepeerd in unieke sleutels en gesorteerd. Hieronder staat het resultaat in de sorteer- en schudfase:

  • Jake, (1, 1)
  • Jon, (1, 1)
  • Mike (1, 1)
  • Paul, (1, 1, 1)

4. De bovenstaande gegevens worden vervolgens ingevoerd in de volgende fase, de reductiefase.

Hier worden alle sleutelwaarden geaggregeerd en wordt het aantal 1's geteld. Hieronder staat het resultaat in de reductiefase:

  • Jake, 2
  • Jon, 2
  • Mike 2
  • Paul, 3

Voordelen van MapReduce:

Hier leren we enkele belangrijke voordelen van MapReduce Programming Framework,

1. Schaalbaarheid

Hadoop als een platform dat zeer schaalbaar is en grotendeels te danken is aan het vermogen dat het grote datasets opslaat en verspreidt over veel servers. De servers die hier worden gebruikt, zijn vrij goedkoop en kunnen parallel werken. De verwerkingskracht van het systeem kan worden verbeterd door meer servers toe te voegen. De traditionele relationele databasebeheersystemen of RDBMS konden niet opschalen om enorme datasets te verwerken.

2. Flexibiliteit

Hadoop MapReduce-programmeermodel biedt flexibiliteit om processtructuur of ongestructureerde gegevens te verwerken door verschillende bedrijfsorganisaties die de gegevens kunnen gebruiken en op verschillende soorten gegevens kunnen werken. Zo kunnen ze een bedrijfswaarde genereren uit die gegevens die zinvol en nuttig zijn voor de bedrijfsorganisaties voor analyse. Ongeacht de gegevensbron, of het nu gaat om sociale media, clickstream, e-mail, enz. Hadoop biedt ondersteuning voor veel talen die worden gebruikt voor gegevensverwerking. Samen met dit alles maakt de programmering van Hadoop MapReduce vele toepassingen mogelijk, zoals marketinganalyse, aanbevelingssysteem, datawarehouse en fraudedetectie.

3. Beveiliging en authenticatie

Als een buitenstaander toegang krijgt tot alle gegevens van de organisatie en meerdere petabytes van de gegevens kan manipuleren, kan dit veel schade toebrengen in termen van bedrijfsvoering aan de bedrijfsorganisatie. Dit risico wordt aangepakt door het MapReduce-programmeermodel door te werken met hdf's en HBase die een hoge beveiliging mogelijk maken, zodat alleen de goedgekeurde gebruiker de opgeslagen gegevens in het systeem kan gebruiken.

4. Kostenbesparende oplossing

Een dergelijk systeem is zeer schaalbaar en is een zeer kosteneffectieve oplossing voor een bedrijfsmodel dat gegevens moet opslaan die exponentieel groeit in lijn met de huidige behoefte. In het geval van oude traditionele relationele databasebeheersystemen was het niet zo eenvoudig om de gegevens te verwerken als met het Hadoop-systeem wat betreft schaalbaarheid. In dergelijke gevallen werd het bedrijf gedwongen om de gegevens te verkleinen en de classificatie verder te implementeren op basis van aannames hoe bepaalde gegevens waardevol kunnen zijn voor de organisatie en dus de onbewerkte gegevens verwijderen. Hier komt de scale-out-architectuur van Hadoop met MapReduce-programmering te hulp.

5. snel

Gedistribueerd Hadoop-bestandssysteem HDFS is een sleutelfunctie die wordt gebruikt in Hadoop, dat in feite een toewijzingssysteem implementeert om gegevens in een cluster te lokaliseren. MapReduce-programmering is de tool die wordt gebruikt voor gegevensverwerking en bevindt zich ook op dezelfde server waardoor gegevens sneller kunnen worden verwerkt. Hadoop MapReduce verwerkt grote hoeveelheden gegevens die in minder tijd ongestructureerd of semi-gestructureerd zijn.

6. Een eenvoudig programmeermodel

MapReduce-programmering is gebaseerd op een zeer eenvoudig programmeermodel waarmee programmeurs in principe een MapReduce-programma kunnen ontwikkelen dat veel meer taken met meer gemak en efficiëntie aankan. MapReduce programmeermodel is geschreven met behulp van Java-taal is erg populair en zeer gemakkelijk te leren. Het is gemakkelijk voor mensen om het Java-programmeer- en ontwerpverwerkingsmodel te leren dat aan hun zakelijke behoeften voldoet.

7. Parallelle verwerking

Het programmeermodel verdeelt de taken op een manier die het mogelijk maakt de onafhankelijke taak parallel uit te voeren. Daarom maakt deze parallelle verwerking het voor de processen gemakkelijker om elk van de taken op zich te nemen, wat helpt om het programma in veel minder tijd uit te voeren.

8. Beschikbaarheid en veerkrachtige aard

Het programmeermodel Hadoop MapReduce verwerkt de gegevens door de gegevens naar een afzonderlijk knooppunt te verzenden en dezelfde set gegevens door te sturen naar de andere knooppunten in het netwerk. Als gevolg hiervan is in geval van een storing in een bepaald knooppunt nog steeds dezelfde gegevenskopie beschikbaar op de andere knooppunten die kan worden gebruikt wanneer dit nodig is om de beschikbaarheid van gegevens te waarborgen.
Op deze manier is Hadoop fouttolerant. Dit is een unieke functionaliteit die wordt aangeboden in Hadoop MapReduce die de fout snel kan herkennen en een snelle oplossing voor een automatische hersteloplossing kan toepassen.

Er zijn veel bedrijven over de hele wereld die map-reduce gebruiken zoals Facebook, Yahoo, etc.

Conclusie - Wat is MapReduce

Map verkleinen heeft een grote capaciteit als het gaat om grote gegevensverwerking in vergelijking met traditionele RDBMS-systemen. Veel organisaties hebben het potentieel al gerealiseerd en stappen over op deze nieuwe technologie. Het is duidelijk dat het verminderen van kaarten nog heel lang moet duren in een groot platform voor gegevensverwerking.

Aanbevolen artikelen

Dit is een gids geweest voor Wat is MapReduce. Hier hebben we het basisconcept, voorbeelden en voordelen van MapReduce besproken. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Wat is JavaScript?
  2. Vragen tijdens solliciteren bij MapReduce
  3. Wat is Python
  4. Hoe MapReduce werkt
  5. Wat is Big data en Hadoop

Categorie: