Cw wp hadoop_de_techniek_achter_big_data
Upcoming SlideShare
Loading in...5
×
 

Cw wp hadoop_de_techniek_achter_big_data

on

  • 83 views

 

Statistics

Views

Total Views
83
Slideshare-icon Views on SlideShare
83
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Cw wp hadoop_de_techniek_achter_big_data Cw wp hadoop_de_techniek_achter_big_data Document Transcript

    • Management special Hadoop: de techniek achter big dataAuteur: Bram Semeijn
    • Management special - Hadoop: de techniek achter big data 2 Wanneer je over big data leest en hoort, zijn er ruwweg twee benaderingen van het thema te onderscheiden. De eerste benadering is die van de business en heeft te maken met het stellen van de juiste vragen. Welke vragen kan ik met big data beantwoorden? En hoe kan ik die analyses gebruiken om de business te versterken? De tweede benadering heeft te maken met de techniek achter big data. Hoe kan ik de big data die we in huis hebben aanboren en eruit halen wat erin zit? Begrippen als Hadoop, mapreduce, HDFS worden daarbij vaak genoemd. In deze special richten we ons op de eerste plaats op die IT-kant van big data. Hoe werkt Hadoop precies, wat is het HDFS (Hadoop Distributed File system) en wat is mapreduce? En wellicht belangrijker nog: waarvoor kan en wordt Hadoop precies gebruikt? Want wie weet hoe Hadoop werkt, krijgt ook een beeld van de mogelijkheden. Big Data Maar allereerst: wat verstaan we onder big data? Big data is een veelgebruikte term, maar er bestaat geen een- duidige definitie van wat we eronder verstaan. In feite wordt de term met een aantal fenomenen geassocieerd. Op de eerste plaats verwijst big data natuurlijk naar de enorme datagroei in de IT wereld. Met name de groei van gegevens in onge- structureerde vorm (sociale media, sensor informatie, log-files) is enorm. Gartner heeft big data samenge- vat als high volume (data- sets die te groot zijn om in een relationele database te passen), high velocity (data die zo snel gegenereerd dient te worden dat er gro- te rekenkracht nodig is) en high variety (gegevensbron- nen in ongestructureerde vorm die sowieso niet in een database opgeslagen werden). Big data projecten worden vaak uitgevoerd met relatief nieuwe soft- ware tools en met name Hadoop wordt veel in combinatie met big data genoemd. Hoe werkt Hadoop precies? En in hoeverre is Hadoop een synoniem voor big data? Hadoop: de techniek achter big data
    • Management special - Hadoop: de techniek achter big data 3 In potentie is al die data een goudmijn, want zou je al die gegevens kunnen analyseren dan zou je die kennis op allerlei manieren kunnen inzetten. De technieken ontbraken echter om die analyses uit te voeren, maar de laatste jaren zijn er hulpmiddelen ontwikkeld waarmee gegevens sneller en in grotere volumes verwerkt kunnen worden. Met name het open source project Hadoop is daarbij belangrijk geweest, zo meent ook BI-consultant Jasper Knulst van Incentro. “Verreweg de meeste bedrijven konden toe met klassieke relationele databases, maar voor grote in- ternetbedrijven als Google en Yahoo was de verwerkingskracht niet groot genoeg. Ze zijn inhouse oplossingen gaan ontwikkelen om grotere volumes te verwerken en Hadoop is daar de open source variant van. In feite is de software ook door Google ontwikkeld.” Met be­hulp van Hadoop kan een bedrijf niet alleen meer en sneller informatie verwerken, het is ook open source en daar- door voor veel nieuwe bedrijven toegankelijk. “Je kan relatief eenvoudig experimenteren of Hadoop iets voor jou is”, zegt Knulst. “Hadoop geeft je de mogelijkheid klein te beginnen en horizontaal op te schalen als je uiteindelijk toch meer wil.” Big data wordt zodoende niet alleen in verband gebracht met ‘veel’ data. Big data gaat vooral ook over het analyseren van gegevensbronnen die eerder niet aangeboord konden wor- den, maar met behulp van nieuwe, betaalbare hulpmiddelen als Hadoop nu wel te gebruiken zijn. Hadoop, mapreduce en HDFS Hadoop wordt veelal in één adem met big data genoemd. Hadoop is een open source project en valt onder beheer van de Apache Software Foundation. Het project wordt door een grote community van ontwikkelaars ondersteund, met ontwikkelaars van onder andere Google, Facebook en Yahoo. Het project heeft verschillende facetten, maar in de basis is Hadoop een distributiesysteem voor het verwerken van rekentaken op meerdere opslagapparaten in een netwerk. Het systeem kent daarbij twee belangrijke componenten, het mapreduce programmeermodel en het Hadoop Distributed File System. Beide componenten zijn vindingen van Google en hergebruikt in het project.
    • Management special - Hadoop: de techniek achter big data 4 Mapreduce is een door Google ontwikkelde methode voor het uitvoeren van berekeningen met zeer grote hoe- veelheden data. Een rekentaak/ vraag wordt daarbij opgedeeld in verschillende deeltaken. Die deeltaken laten zich allemaal beschrijven als map- en reduce (fold) functies, hogere-ordefuncties die bekend zijn bij het functioneel programmeren. ‘Map’ geeft daarbij opdracht een functie toe te passen op elk element in een lijst. ‘Reduce’ (fold) geeft opdracht een lijst in een bepaalde volgorde te doorlopen en gaandeweg een bepaalde waarde te creëren. Een voorbeeld: stel nu dat je wil weten hoeveel woorden van iedere soort zich bevinden in een groot aantal docu- menten. Je maakt dan de Map functie “doorzoek document x en geef voor ieder woord w een getal “ De Reduce functie is “haal van ieder voorkomend woord in een lijst het bijbehorende getal op en tel deze op.” Een tweetraps verwerkingsmethode dus. Voor het verdelen van de rekentaken over het netwerk wordt het Google File System gebruikt, een methodiek om het rekenwerk van meerdere apparaten in een raamwerk te coördineren. Binnen het Hadoop project spreken we over het Hadoop Distributed File System, maar in feite gaat het om eenzelfde methodiek. De (big) data die verwerkt dient te worden wordt opgedeeld in kleine brokken van maximaal 64 MB groot en herverdeeld over verschillende apparaten in het netwerk. De verschillende blokjes worden daarbij ook nog eens gekopieerd, zodat eventuele fouten bij een verwerking of uitval van één van de systemen geen directe problemen geeft. Het netwerk is daarbij opgezet op de klassieke master-slave manier. De verwerking van de Map- en Reduce-functies wordt uitgevoerd door de slaves in het netwerk. Op knooppunten staat de ‘jobtracker’, die de rekentaken over de slaves verdeelt. Deze zorgt ervoor dat tweetrapsverwerking goed verloopt en houdt ook in de gaten welke onderdelen reeds klaar zijn met analyse en welke niet. Bron: Wikipedia.org
    • Management special - Hadoop: de techniek achter big data 5 Sterktes en zwaktes Het sterke punt in het systeem is dat Hadoop datablokjes efficiënt over het netwerk kan verdelen. Uitval van één van de slaves zorgt er niet voor dat er data verloren gaat. Een ander sterk punt is dat de apparaten in het netwerk relatief weinig processing power nodig hebben. “Hadoop legt de verwerking van een rekentaak daar waar de opslagcapaciteit is”, vertelt Knulst. “Het file systeem van een klassieke relationele database doet dit precies andersom. Het systeem haalt daarbij juist alle data op naar een centrale verwerkingsunit. Omdat die centrale verwerkingsunit veel data moet verwerken, is het belangrijk dat het een krachtig apparaat is met een sterke CPU. Dat soort apparaten zijn duur. Hadoop heeft geen apparaten met krachtige CPU nodig, omdat de verwerking gedistribueerd is over het netwerk” Hadoop geeft zodoende de mogelijkheid veel data met relatief goedkope commodity hardware te verwerken. Boven- dien is het een inherent schaalbaar systeem. “Het is een beetje kort door de bocht, maar je zou kunnen stellen dat wanneer je het cluster twee keer zo groot maakt je ook twee keer zoveel rekenkracht hebt.” Hadoop kent echter ook zwaktes. Op de eerste plaats is de Jobtracker een zwak punt. Valt die uit, dan kan de taak niet worden uitgevoerd. Een nog belangrijker zwakte is misschien nog wel de NAMEnode, de plek waar de jobtrac- ker de locatie van alle gegevenspakketjes in het cluster opslaat. Valt die weg, dan is onbekend welke apparaten welke pakketjes bevatten en is de data in feite verloren. Binnen het Hadoop-project zijn er wel methodes ontwikkeld om de NameNode en de Jobtracker dubbel uit te voeren, zodat uitval geen desastreuze effecten heeft. Ook Mapreduce heeft volgens Knulst beperkingen. “Mapreduce is met name geschikt voor parallel computing van eenvoudige verwerkingstaken, waarbij halfresultaten van hetzelfde niveau (de dataset die ontstaat na verwerking door de Mappercode) niet gerelateerd hoeft te worden aan andere halfresultaten. Hadoop is bijvoorbeeld uitste- kend geschikt voor het indexeren van pagina’s ongeacht de inhoud en structuur. Daar is het oorspronkelijk ook voor ontwikkeld. Hadoop is niet goed in probleemstellingen waarbij er wel een onderlinge afhankelijkheid bestaat tussen de halfresultaten.” Een mooi voorbeeld in dit verband is de vraag wie kent wie in een netwerk, zoals je ook wel ziet bij sociale netwerksites. Mapreduce kan dit soort probleemstellingen alleen aanpakken door meerdere jobs op elkaar te stapelen. Hierdoor neemt de efficiëntie af. In het vervolgproject van Hadoop, Hadoop 2, hebben ontwikkelaars daarom het HDFS van het mapreduce ver- werkingsmodel losgeweekt. Hierdoor zijn ook andersoortige verwerkingsmodellen mogelijk, waaronder Apache’s spark en giraph. Beide algoritmes kennen niet de door mapreduce zo kenmerkende tweetrapsverwerking.
    • Management special - Hadoop: de techniek achter big data 6 De beperkingen weg? Met de komst van Hadoop zijn de technische beperkingen voor het analyseren van grote hoeveelheden data voor een belangrijk deel weggevallen. Is Hadoop nu ook inderdaad voor ieder big data project de oplossing? Business Intelligence specialisten als Erik Leene (Director Innovations bij Kadenza) en Marcel de Wit (Development Manager Business Intelligence & Analytics bij Sogeti) zijn daar sceptisch over. Klassieke databasetechnieken blijken vaak ook in grote omgevingen effectief. “Wanneer we het hebben over big data spreken we al gauw over petabytes aan data. Het overgrote deel van de bedrijven hebben dat niet in huis. Banken en dergelijke doen momenteel bijvoor- beeld allerlei fraude analyses met behulp van traditionele databasetechnieken”, stelt Leene. Overigens experimen- teren banken momenteel wel lustig met Hadoop. Volgens Knulst is er momenteel geen bank in Nederland die geen Hadoop cluster tot zijn beschikking heeft. De Wit beschouwt Hadoop vooral als een business intelligence hulpmiddel dat je naast de BI-rapportages van je bestaande databases kan gebruiken. “Het is lastig om hier heel algemeen over te spreken omdat er altijd wel uitzonderingen zijn. Op hoofdlijnen kan je op de eerste plaats stellen dat klassieke relationele databases vooral erg nauwkeurig zijn en goed zijn in het bewaren van geschiedenis. Dat is voor bijvoorbeeld de financiële verslaglegging erg relevant. Hadoop heeft weer heel andere kwaliteiten. Je kan er mooi ongestructureerde bronnen zoals Tweets mee analyseren en daarbij zijn vooral sentimenten van dit moment mee te verkrijgen. Het gaat dus om een ander soort inzichten die je mooi naast je huidige Business Intelligence kan gebruiken.” Een belangrijke consequentie van het gebruik van Hadoop op die manier is dat Hadoop in de praktijk veelal wordt gebruikt om externe databronnen aan te boren. Denk daarbij aan open data of social media data. De kwaliteit van dergelijke extern gegenereerde gegevens kan niet goed worden gegarandeerd en je moet er daarom vaak een gezonde scepsis bij hebben.