MapReduce is een essentieel programmeerconcept dat je moet beheersen om een ​​professionele data-engineer te worden. Het biedt oplossingen voor gedistribueerde big data bestandsbeheersystemen. Daarom zal het begrijpen van de theoretische achtergrond van MapReduce het leren van de techniek zelf gemakkelijk voor u maken.

Maar wat is MapReduce en hoe werkt het in gedistribueerde bestandssystemen? Dat kom je te weten in dit bericht.

Wat is MapReduce?

MapReduce is een data-engineeringmodel dat wordt toegepast op programma's of applicaties die big data-logica verwerken binnen parallelle clusters van servers of knooppunten. Het verdeelt een verwerkingslogica over verschillende gegevensknooppunten en voegt de resultaten samen in de client-server.

MapReduce zorgt ervoor dat de verwerking snel, geheugenefficiënt en betrouwbaar is, ongeacht de grootte van de gegevens.

Hadoop File System (HDFS), Google File System (GFS), Apache Kafka, GlusterFS en meer zijn voorbeelden van gedistribueerde big data-bestandssystemen die het MapReduce-algoritme gebruiken.

instagram viewer

Wat is een gedistribueerd bestandssysteem?

Een gedistribueerd bestandssysteem (DFS) is een opslagmethode in computers waarbij grote gegevensbestanden in kleinere brokken worden opgesplitst en over verschillende servers binnen het systeem worden verspreid. Het stelt klanten uit verschillende bronnen in staat om gegevens te schrijven en te lezen, te delen en programmeerbare logica op gegevens uit te voeren, rechtstreeks vanaf elke locatie.

Een gedistribueerd bestandssysteem bestaat meestal uit de primaire server (ook wel een NameNode genoemd in Hadoop), parallelle clusters en verschillende knooppunten of servers die gerepliceerde gegevensblokken bevatten, allemaal in een gegevens centrum. Elk cluster binnen het gedistribueerde bestandssysteem bevat echter honderden tot duizenden van deze knooppunten.

De primaire server detecteert automatisch wijzigingen binnen de clusters. Het kan dus rollen toewijzen aan elk knooppunt.

Wanneer de primaire server een gegevensbestand ontvangt, wordt dit naar de clusters binnen de DFS verzonden. Deze clusters splitsen en distribueren de gegevens naar elk knooppunt binnen hen. Elk knooppunt repliceert vervolgens de gegevens in zogenaamde gegevensblokken om een ​​ketting te vormen. Op dit punt wordt elk knooppunt een chunk-server.

Verwant:Wat zijn datacenters en waarom zijn ze belangrijk?

Naast het beheren van de toegang tot de gegevens, bevat de primaire server een metagegevensannotatie op elk bestand. Op die manier weet het welk knooppunt welk bestand in elk cluster afhandelt.

Hoe werkt MapReduce in gedistribueerde bestandssystemen?

Zoals eerder vermeld, is big data beschikbaar in verschillende chunk-servers in een DFS. Een manier om programmeerbare logica op deze gegevensbestanden uit te voeren, is ze samen te voegen tot één. U kunt ze vervolgens naar een enkele server trekken, die nu de logica afhandelt.

Hoewel dat een conventionele manier is om gegevens op te vragen, is het probleem dat de gegevens weer een geheel worden binnen de enkele server. Een enkele server zal dus nog steeds de logica van meerdere petabytes aan gegevens tegelijk moeten beheren. Helaas was dit het probleem dat het systeem in eerste instantie wilde oplossen. Het is dus geen best practice.

Verwant:Meerdere databasetabellen tegelijk opvragen met SQL-joins

Verder brengt een dergelijke aggregatie in een enkele server verschillende prestatierisico's met zich mee. Deze kunnen variëren van een servercrash, slechte berekeningsefficiëntie, hoge latentie, hoog geheugenverbruik en kwetsbaarheden tot meer.

Maar een andere manier om de programmeerbare logica uit te voeren, is door de gegevens in stukjes achter te laten in elke gedistribueerde server. En injecteer vervolgens de logische functie in elke server. Het betekent dat elke chunk-server binnen een cluster nu zijn berekening afhandelt. Door deze aanpak te gebruiken, is het niet nodig om gegevens samen te voegen of naar een enkele server te trekken.

Dat er het MapReduce-concept is in een gedistribueerd gegevensbestandssysteem. Het zorgt ervoor dat een enkele server geen gegevens uit de bron hoeft te halen. In plaats daarvan verspreidt het de verwerkingsfunctie (MapReduce) in verschillende chunk-knooppunten in afzonderlijke clusters, dus elk knooppunt binnen elk cluster behandelt de logica afzonderlijk zonder een enkele te overbelasten server.

Dientengevolge verwerken verschillende servers tegelijkertijd logica op bits gegevens. Deze verdeling van arbeid over servers resulteert onder meer in optimale prestaties en een hogere beveiliging.

Hoe wordt het MapReduce-resultaat verwerkt in een DFS?

Zo werkt de volledige MapReduce-verwerking in een DFS:

  • De primaire server ontvangt een big data-query (MapReduce-functie) van de client.
  • Het stuurt dit vervolgens naar elk cluster om het over elk knooppunt erin te verspreiden.
  • Elk knooppunt verwerkt de functie MapReduce en cumuleert het resultaat.
  • Een andere server verzamelt de resultaten van elk knooppunt en stuurt ze terug naar de primaire server.
  • De primaire server stuurt het resultaat vervolgens als antwoord naar de client.

De enige taak van een primaire server is dus om een ​​gemakkelijk berekend resultaat naar de client te sturen, naar wijzigingen te luisteren en de toegang tot de gegevens te beheren. Het voert geen berekeningen uit. Dit is de reden waarom de meeste cloud computing-applicaties indrukwekkend snel zijn, ondanks de hoeveelheid gegevens die ze verwerken.

Wat is precies de kaart en reduceer in MapReduce?

MapReduce gebruikt twee programmeerlogica om big data te verwerken in een gedistribueerd bestandsbeheersysteem (DFS). Dit zijn een kaart- en reductiefunctie.

De kaart functie doet de verwerkingstaak op elk van de gegevensknooppunten in elk cluster van een gedistribueerd bestandssysteem. De verminderen functie aggregeert vervolgens de resultaten die door elke chunk-server worden geretourneerd en geeft deze door aan een andere server binnen de DFS voor resultaataggregatie. De ontvangende server stuurt deze berekening naar de primaire server, die de geretourneerde waarde naar de client-side server post.

Wat gebeurt er als een Chunk-server uitvalt?

Servers binnen een gedistribueerd bestandssysteem (DFS) kunnen soms downtime ervaren. Je zou denken dat dit het hele systeem kapot maakt, maar dat is niet zo.

Er is een computersysteem dat een dergelijke dreigende storing voorkomt. Dat heet fouttolerantie.

Verwant:Wat is cloudcomputing? Hoe werkt cloudtechnologie?

Dus zelfs wanneer een server uitvalt tijdens gegevensverwerking, zorgt fouttolerantie ervoor dat de primaire server deze onmiddellijk detecteert. En aangezien er een replica is van de gegevensblokken over de knooppunten, draagt ​​de primaire server de verwerkingstaak onmiddellijk over aan een andere server. Op die manier heeft de downtime van de server binnen de DFS geen invloed op de gegevensverwerking.

MapReduce vereenvoudigt de verwerking van big data

MapReduce is een essentieel model dat computergebruik in gedistribueerde bestandssystemen gemakkelijk maakt. Omdat meerdere knooppunten tegelijkertijd een berekening kunnen uitvoeren, is het een snelle methode die door verschillende technische giganten wordt gebruikt om veel van de problemen op te lossen die gepaard gaan met big data-analyse.

Onder andere Google, Amazon, IBM zijn voorbeelden van bedrijven die dit concept gebruiken. Google past bijvoorbeeld het MapReduce-concept toe om zoekopdrachtresultaten te krijgen tijdens Google-zoekopdrachten.

Wat is big data, waarom is het belangrijk en hoe gevaarlijk is het?

Big data drijft veel industrieën aan en heeft effect op ons hele leven. Maar is het gevaarlijker of nuttiger?

Lees volgende

DelenTweetenE-mail
Gerelateerde onderwerpen
  • Programmeren
  • Programmeren
  • Grote gegevens
  • Gegevensanalyse
Over de auteur
Idowu Omisola (133 artikelen gepubliceerd)

Idowu is gepassioneerd door alles wat slimme technologie en productiviteit betreft. In zijn vrije tijd speelt hij met coderen en schakelt hij over naar het schaakbord als hij zich verveelt, maar hij vindt het ook heerlijk om af en toe uit de routine te stappen. Zijn passie om mensen de weg te wijzen in moderne technologie motiveert hem om meer te schrijven.

Meer van Idowu Omisola

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren