Hadoop is hot! We weten dat Hadoop goed werkt in situaties waarbij analyse of verwerking parallel verdeeld kan worden over meerdere nodes. We weten dat Hadoop prima geschikt is voor het beheren van big data. En we weten ook dat Hadoop minder geschikt is voor transactionele situaties, omdat acid-ondersteuning ontbreekt. Maar hoe wordt Hadoop gebruikt door anderen dan de early adopters, de Yahoo's en Google's van deze wereld? Hoe gebruikt u Hadoop?
Hadoop is een open-source software-omgeving van The Apache Software Foundation waarmee applicaties petabytes aan ongestructureerde data in een cloudomgeving op commodity hardware kunnen verwerken. Doordat het systeem is gebaseerd op Google's MapReduce en Google File System (GFS), kunnen grote datasets in kleinere datablokken worden opgedeeld zodat een cluster deze parallel kan verwerken.
Hadoop werkt met een gedistribueerd bestandssysteem (HDFS) wat maakt dat data op meerdere nodes kunnen staan en geaggregeerd met een hoge bandbreedte door een cluster behandeld kunnen worden.
Gezien het feit dat Hadoop relatief nieuw is voor veel organisaties, is het belangrijk om te kijken hoe deze 'early adopters' gebruik maken van Hadoop. Ondanks het feit dat Hadoop zich in een beginstadium bevindt, en dat er voortdurend projecten worden gestart die de gebruikstoepassingen van Hadoop uitbreiden, zien we toch al wat beginnende patronen ontstaan. Laten we deze praktijksituaties eens bekijken vanuit zowel een technisch als zakelijk perspectief.
Technisch gebruik
Er is een aantal situaties waarin we Hadoop nu kunnen tegenkomen. Bijvoorbeeld in een staging area voor datawarehousing en analytics. Hier wordt Hadoop gebruikt als mechanisme om data in een traditioneel datawarehouse te laden voor OLAP, rapportage, enzovoort en voor het laden van gegevens in een analytische opslag voor geavanceerde analyses en data mining. Organisaties kunnen grote hoeveelheden gegevens in een Hadoop cluster dumpen, en dan een SQL-achtige query met behulp van Hive inzetten om zinvolle informatie uit de gegevens te halen. Ook kun je data aggregeren en exporteren naar het warehouse of de bron die gebruikt wordt voor analytics. Met het juiste ontwerp van het ETL-proces, kan MapReduce worden gebruikt om de bewerkingen en transformaties naar de data te brengen zodat een optimale verwerking van grote hoeveelheden gegevens verzekerd is. Momenteel is dit de meest gebruikte toepassing.
De Analytics Sandbox maakt gebruik van Hadoop als ad-hoc analyse sandbox-omgeving. Het gaat om het tijdelijk verplaatsen van gegevens uit verschillende bronnen naar een Hadoop omgeving, mogelijk zelfs uit het Enterprise Data Warehouse (EDW), en het ter beschikking stellen ervan aan een (business)analist voor een flexibele, krachtige en iteratieve analyse. Dit wordt vaak gecombineerd met de inzet van BI-tools om analyse te doen op basis van gestructureerde informatie die zich bevindt in het EDW.
Voor ongestructureerde/semi-gestructureerde contentopslag en -analyse. In dergelijke situaties wordt Hadoop gebruikt als opslagmechanisme voor het vastleggen van ongestructureerde of semi-gestructureerde content, om die vervolgens met behulp van MapReduce te ontleden naar betekenisvolle componenten, en mogelijk samen te voegen met andere data.
Bij een totale data-analyse wordt de parallellisatie van een Hadoop omgeving gebruikt om de problemen met bandbreedte en coördinatie te overwinnen die samenhangen met de verwerking van miljarden records. Bijvoorbeeld in processen waarbij patronen worden gezocht. Deze aanpak heeft ook betrekking op het uitvoeren van analytics op grotere steekproeven, of zelfs totale
Ook wordt Hadoop gebruikt in combinatie met goedkope (commodity) storage om grote hoeveelheden gegevens op te slaan. Dit kan betrekking hebben op de opslag van transactionele data, social media data, sensordata, wetenschappelijke gegevens, e-mails, et cetera.
Zakelijk gebruik
Als zakelijke toepassing vinden we Hadoop op uiteenlopende terreinen als (klant)gedraganalyse, marketingoptimalisatie, een probleemoplossingsmethode zoals root cause analysis (RCA), sentiment analyse, fraude analyse en binnen risico management.
Er zijn natuurlijk nog andere manieren om naar het gebruik van Hadoop te kijken. Zijn organisaties bijvoorbeeld op zoek naar Hadoop als een vervanging of als een uitbreiding. Welke technieken worden gebruikt om gegevens te verwerken – MapReduce, Hive, Pig, et cetera., Welke gerelateerde technologieën en services worden gebruikt om de toepassingen van Hadoop te vergroten – Zookeeper, Sqoop, Flume, Oozie, Avro, Mahoot?
Uiteraard zijn deze keuzes en beslissingen uiteindelijk altijd afhankelijk van de bovengeschetste technische en zakelijke gebruiksscenario's.
Er is inmiddels ook een levende Hadoop Community. Vanavond de eerste bijeenkomst, met sprekers van Sara en Cloudera. Voor updates rondom deze community check de LinkedIn groep: http://www.linkedin.com/groups/Hadoop-Community-Nederland-4162115
Alweer een juichbericht vanuit de NoSQL hoek. Veel presentaties en mood-makers zijn m.i. een teken dat hiermee nog geen goed geld wordt verdient. De zoektocht naar valide usecases duurt nog even voort, de nadelen om buiten de relationele biotoop om een nieuwe technologie te introduceren worden niet goed belicht. Ik verwacht niet dat de (java) programmeurs een boom opzetten waarom de RDBMS gewonnen heeft van CODASYL en hoe er nu een succesvolle come-back kan worden gemaakt, maar erkenning dat Hadoop een nicheprodukt is dat weinig specialisten kent en nog grotere technische uitdagingen (zeker als er in het bedrijf een koppeling plaatsvind met de RDBMS systemen) is op zijn plaats. Dus niet: “het lijkt een alleskunner”, maar eerder : “Waar is de toegevoegde waarde?”