Video: Willem Bouten: big data onderzoeken dankzij high tech rugzakjes van vogels 2024
Voor het grootste deel van de geschiedenis van Hadoop is MapReduce het enige spel in de stad als het gaat om gegevensverwerking. De beschikbaarheid van MapReduce is de reden voor het succes van Hadoop en tegelijkertijd een belangrijke factor geweest bij het beperken van verdere acceptatie.
MapReduce maakt ervaren programmeurs in staat om gedistribueerde applicaties te schrijven zonder zich zorgen te hoeven maken over de onderliggende gedistribueerde computerinfrastructuur. Dit is een zeer grote deal: Hadoop en het MapReduce-framework hanteren allerlei vormen van complexiteit die toepassingsontwikkelaars niet hoeven aan te pakken.
Bijvoorbeeld: de mogelijkheid om het cluster transparant uit te schalen door middel van het toevoegen van knooppunten en de automatische failover van zowel gegevensopslag als gegevensverwerkingssubsystemen gebeurt met nul impact op applicaties.
De keerzijde van de medaille is dat hoewel MapReduce een enorme hoeveelheid complexiteit verbergt, je het je niet kunt veroorloven om te vergeten wat het is: een interface voor parallel programmeren. Dit is een geavanceerde vaardigheid - en een barrière voor een bredere acceptatie. Er zijn eenvoudigweg nog niet veel programmeurs van MapReduce en niet iedereen heeft de vaardigheid om het onder de knie te krijgen.
In de vroege dagen van Hadoop (Hadoop 1 en eerder), kon je alleen MapReduce-applicaties uitvoeren op je clusters. In Hadoop 2 veranderde de YARN-component dat allemaal door resourcemanagement en planning uit het MapReduce-framework over te nemen en een generieke interface te bieden om applicaties te laten draaien op een Hadoop-cluster.
Kort gezegd betekent dit dat MapReduce nu slechts een van de vele toepassingskaders is die u kunt gebruiken om applicaties voor Hadoop te ontwikkelen en uit te voeren. Hoewel het zeker mogelijk is om applicaties uit te voeren met andere frameworks op Hadoop, betekent dit niet dat we MapReduce kunnen vergeten.
MapReduce is momenteel het enige voor de productie geschikte kader voor gegevensverwerking dat beschikbaar is voor Hadoop. Hoewel andere frameworks uiteindelijk beschikbaar zullen zijn, heeft MapReduce bijna een decennium van volwassenheid in handen (met bijna 4.000 JIRA-issues voltooid, waarbij honderden ontwikkelaars betrokken zijn, als je het op de hoogte houdt).
Er is geen twijfel mogelijk: MapReduce is Hadoop's meest volwassen framework voor gegevensverwerking. Bovendien is er nu een aanzienlijke hoeveelheid MapReduce-code in gebruik die waarschijnlijk binnenkort niet beschikbaar zal zijn. Lang verhaal kort: MapReduce is een belangrijk onderdeel van het Hadoop-verhaal.
De Apache Hive- en Apache Pig-projecten zijn erg populair omdat het gemakkelijker toegangspoorten zijn voor gegevensverwerking op Hadoop. Voor veel problemen, vooral de soorten die u kunt oplossen met SQL, Hive en Pig zijn uitstekende hulpmiddelen.Maar voor een bredere taak, zoals statistische verwerking of tekstextractie, en vooral voor het verwerken van ongestructureerde gegevens, moet u MapReduce gebruiken.