MapReduce

Wat is MapReduce?

MapReduce is een software framework waarmee je in korte tijd data kunt verwerken en terughalen. Het framework loopt parallel aan het Hadoopsysteem. MapReduce is erg effectief voor de verwerking van Big Data. Het is veelzijdig, omdat zijn bibliotheken geschreven zijn in veel programmeertalen. Hierdoor kan MapReduce werken met alle talen. Het MapReduce framework organiseert de verschillende taken die parallel en tussen de systemen lopen en is de kern van Hadoop.

Voor MapReduce maakt het niet uit of de data gestructureerd of ongestructureerd zijn, aangezien het framework kan werken met beide. Daarna is de inputdata van MapReduce meestal tekst, binair of multi-line. Voorbeelden van inputdata van MapReduce zijn bijvoorbeeld weblog-records en de kliks die de bezoeker van je website doet voordat hij tot aankoop van het product overgaat.

Hoe werkt MapReduce?

MapReduce bestaat uit twee delen. Allereerst is er de ‘map-functie’. Deze functie consumeert als het ware data, analyseert het en geeft vervolgens key-value paren. Het key pair identificeert naar welke soort informatie we kijken. Als je bijvoorbeeld wilt weten hoe vaak een woord voorkomt in de tekst dan krijg je < word, count > als key/value pairs. Als output geeft MapReduce een < woord(gitaar), N(4) > voor elk woord van de input stream. Het is belangrijk om te realiseren dat de mapfunctie niet het totaal aantal woorden voor je telt. Als hij dus het woord ‘gitaar’ in drie teksten heeft geteld dan krijg je drie aparte key/value pairs. Het daadwerkelijk tellen van de woorden gebeurt in het tweede deel van MapReduce, de reducefase.

De reducefunctie krijgt vervolgens de informatie vanuit de mapfunctie binnen en voert acties uit om zo een kleiner, samengevoegd resultaat te geven. De functie geeft dan bijvoorbeeld het antwoord op de vraag hoe vaak het zoekwoord in totaal terug te vinden is op bepaalde pagina’s. Dus de waarden (= aantal keren dat het woord voorkomt) van alle data die je tot dan toe verzameld hebt, worden geteld. Uiteindelijk krijg je dan de waarde van de key/value pairs die dezelfde key (dus in ons voorbeeld ‘gitaar’) hebben.

Het tellen van woorden is niet het enige dat je kan doen met MapReduce. Er zijn namelijk tal van toepassingen die met MapReduce mogelijk zijn. Hierbij kun je denken aan risk modelling, targeten van advertenties en het analyseren van de tijd en plaats van transacties.

Meer weten over MapReduce?

Wil je meer weten over MapReduce? Volg dan de cursus Big Data Programmer bij de Big Data Academy. Dit is de plek waar je opgeleid wordt tot Big Data specialist. Na de cursus ontvang je van ons het Big Data certificaat waarmee je kunt aantonen dat je zowel inhoudelijke als praktische informatie over Big Data systemen, zoals Hadoop, bezit: van de ontwerp- tot en met de documentatiefase.

Wil je meer weten over het analyseren van de resultaten die voortkomen uit MapReduce? Volg dan de cursus Big Data Analyst bij de Big Data Academy. Na de cursus ontvang je van ons het Big Data certificaat waarmee je kunt aantonen dat jij zowel inhoudelijke als praktische kennis bezit over verschillende Big Data analysestrategieën, algoritmen en voorspellende modellen.