whitepaper
De stand van Hadoop
door: Jasper Knulst
Rondom het Hadoop ecosysteem volgen de ontwikkelingen elkaar in een zeer hoog tempo op. Hadoop zelf en de tools erom heen worden volwassener en veelzijdiger. Bovendien komen er steeds nieuwe producten van gerenommeerde vendors uit die integreren met Hadoop. Hoogste tijd dus eens te kijken wat er zoal mogelijk is op het vlak van BI. Ook is het interessant te inventariseren welke organisaties Hadoop al succesvol toepassen, ook in Nederland. Ik begin met een beschrijving van wat Hadoop onderscheidend maakt tov traditionele technologieën. Karakteristieken Voor diegenen die het gemist hebben. Hadoop is een platform voor gedistribueerde opslag en verwerking van data. In een cluster, bestaande uit meerdere servers die over een netwerk met elkaar verbonden zijn, draagt iedere Hadoop ‘node’ bij aan de totale opslagen verwerkingcapaciteit. Hadoop is inmiddels een verzamel -en merknaam geworden voor een heel scala aan tools dat is opgebouwd rondom ‘core’-Hadoop. Dit is vergelijkbaar met Linux, waar de naam van de kernel nu synoniem is voor het geheel aan aanverwante modulaire functionaliteit. De Hadoop kern bestaat uit twee complementaire onderdelen; het Hadoop Distributed File Sytem (HDFS) en MapReduce (MR). Door de gebundelde capaciteit van alle clusterhardware (Disk space, RAM en CPU’s) is Hadoop in staat om tegen lage kosten veel data in gevarieerde formaten op te slaan en te verwerken. Hadoop is namelijk open source en draait op ‘commodity hardware’ oftewel goedkope standaard servers (€3.500 –€ 5.500). Het cluster is horizontaal schaalbaar tot duizenden nodes en kan eenvoudig worden uitgebreid waarbij de capaciteit nagenoeg lineair toeneemt. Ook enigszins verouderde servers kunnen meedraaien in een cluster.
complexiteit om alle nodes te laten samenwerken. Het HDFS kent slechts één manier om opgeslagen data te organiseren en dat zijn mappen en submappen. HDFS is een logisch filesysteem; de mapindeling bestaat alleen in het geheugen van Hadoop. Op OS niveau (Linux) zijn uiteindelijk de opgeknipte datablokken terug te vinden van files die in het HDFS werden gezet. Om de beschikbaarheid van de data te waarborgen worden datablokken tijdens het wegschrijven gerepliceerd en strategisch geplaatst op meerdere nodes. De standaard replicatiefactor van 3 zorgt er tevens voor dat de verwerking van de data tegen een stootje kan; indien één van de opslag- en verwerkingslocaties mislukt zijn er nog 2 kansen om dit ergens anders nogmaals op te starten. Wanneer een file wordt verwerkt in een MR job wordt het werk toegewezen aan nodes waar de datablokken van de file zich al bevinden. De blokdistributie is in essentie random wat periodiek onderhoud aan verdeelsleutels, zoals bij ‘sharded’ gedistribueerde databases, overbodig maakt. In het ontwerp van Hadoop is compromisloos ingezet op de efficiënte verwerking van grote hoeveelheden data. Dat is waar de kracht van Hadoop ligt. In 2009 werd door een Hadoop cluster met 11.680 CPU cores (1.460 nodes) 1TB random gegenereerde data (regels van 100kb) gesorteerd in 62 seconden [1] Dichter bij huis nu; een 4-node cluster waar ik mee werkte was in staat om 100 miljoen regels
Op een hoog abstractieniveau is Hadoop te beschouwen als een schaalbare computer voor High Performance Computing (HPC) met schier oneindig uitbreidbare opslag- en CPU capaciteit. De gebruiker wordt afgeschermd voor het gedistribueerde karakter en de Jasper Knulst
1
Incentro©2012
whitepaper data (17GB) in 700 subfiles op order-id te sorteren/splitsen in 6,5 minuut. Ditzelfde cluster telde een aantal regels (978.000.000) in een file van 99GB in 3,5 minuut [2].
Bij de New York Times is Hadoop ingezet om een zeer groot aantal scans van verschenen artikelen uit de laatste 2 eeuwen te converteren naar PDF formaat [3]. Deze artikelen zijn nu online beschikbaar gesteld voor het publiek.
Belangrijke factoren voor het behalen van deze prestaties zijn de eenvoud van het datamodel en het verwerkingsparadigma MR. Afgezien van de HDFS mapindeling is er géén inherente datastructuur. Hadoop is schemaloos, er zijn geen restricties voor het formaat van de data, geen keys, geen referentiele constraints en geen indices . Tijdens het wegschrijven wordt data niet geïnterpreteerd, zelfs niet of nieuwe files qua formaat bij andere files in een HDFS map horen. Dit is te vergelijken met hoe u files beheert op uw PC. Interpretatie van de data komt pas als de data wordt verwerkt tijdens een MR job; “schema on read” heet dat. Hadoop is geen passieve storage solution zoals SAN/NAS. Opslag in Hadoop is alleen zinvol als de data op enig moment verwerkt wordt om waarde te creëren. Hadoop biedt zelf geen inhoudelijke analytische functionaliteit. Deze moet geschreven worden in MR jobs in de taal Java. Dat klinkt ingewikkelder dan het is, aangezien MR een uitgebreide kapstok biedt waar slechts een beperkt aantal regels code hoeft te worden toegevoegd. Zolang er een programma geschreven kan worden om iets zinvols met de data te doen kan Hadoop dus het formaat aan. Een zeer rekbaar begrip dus.
Aangezien Hadoop niks weet van de data die verwerkt moet worden is er geen andere optie dan vooraan de file te beginnen en deze tot het eind toe volledig streaming door te nemen, op zoek naar ‘iets’. Wat dat ‘iets’ is bepaalt de analist dmv een MR job. De brondata wordt dus maar één keer van disk gelezen en dit gebeurt altijd lokaal. Belangrijk aangezien I/O vanaf disks momenteel de meest beperkende factor is voor snelle dataverwerking. De ‘map’ fase van een MR job is te vergelijken met een full table scan in een database waar dit als zeer inefficiënt wordt beschouwd. Echter, in de architectuur van Hadoop ligt de nadruk op rauwe CPU power en niet zo zeer op ‘slimme’ maar ook bewerkelijke datastructuren zoals bij te werken indices en te controleren constraints . In deze opzet herkent men de oorsprong van Hadoop als onderdeel van het websearch project Nutch [4], waarbij webcontent volledig moet kunnen worden geïndexeerd ongeacht inhoud en structuur. In een dergelijke opzet hebben datastructuren geen enkele waarde, maar zijn slechts tot last.
Debat Tot zover de theorie. Wat kun je allemaal doen met deze nieuwe technologie in het kader van informatievoorziening? Een groot deel van wat er over Hadoop wordt geschreven gaat over verschillen met bestaande technologieën. Niet zelden eindigt het met een opsomming van wat Hadoop allemaal ‘tekort’ komt om een modern DWH te bouwen, real-time analyses te doen en een Jasper Knulst
breed publiek te bedienen. Sommigen zien Hadoop als een grote stap terug in de tijd wegens het ontbreken van schema’s en optimalisaties die de afgelopen 40 jaar in RDBMS’en zijn toegepast. Bovendien voldoet Hadoop niet aan de ACID vereisten en dat zou alleen maar tot chaos kunnen leiden.
2
Incentro©2012
whitepaper Maar Hadoop is niet terugwaarts, Hadoop is anders en is heel goed in waar het voor ontworpen is. Random toegang tot slechts één record in een file en het wijzigen daarvan is niet één van die ontwerpprincipes en wordt niet ondersteund. Hadoop is ook helemaal geen database. Het beheert geen records maar files. Hadoop hoort dan ook niet tot de groep NoSQL databases. Er zijn wel degelijk overlaps met RDBMS technologie en met name met analytische en MPP appliances. Daarenboven is Hadoop veelzijdiger en schept daardoor nieuwe analytische mogelijkheden.
gedragen definities in betrouwbare en routinematige dagelijkse processen. Onder het waterniveau bestaat nog een enorme hoeveelheid data die niet gebruikt wordt omdat de kosten van opslag en analyse tot nu toe niet opwegen tegen de baten. Door de inzet van Hadoop verschuift het (water)niveau waarbij de ROB gelijk is aan 1 naar beneden. Enerzijds wordt opslag van nieuwe databronnen economisch omdat de opslagkosten van Hadoop lager zijn en anderzijds wordt er extra waarde gecreëerd door analyses op nieuwe data die voorheen niet mogelijk waren. In het deel wat nog onder water ligt zijn (Big) databronnen aanwezig die zo groot zijn dat een RDBMS geen optie is appliances te inflexibel en/of te duur. Sterker nog, de reden dat deze bronnen de laatste jaren überhaupt aangewend (kunnen) worden voor informatie is dat tools als Hadoop bestaan.
Laten we alle data die een bedrijf in de ruimste zin van het woord ter beschikking staan voorstellen als een (data)berg in zee (zie figuur I). Het deel boven het waterniveau zijn de data die al worden aangewend in het DWH obv traditionele tools. Hierin zitten de ‘enterprise darlings’; zorgvuldig uitgemodelleerde data met bedrijfsbreed
High ROB >1 traditional tools
ROB = 1
ROB = 1
Big Data
Hadoop
Low ROB <1
Value from byte Return on Byte (ROB) =
Cost of storage & analysis of byte
bron: Cloudera
Figuur I. Hadoop & return on byte
Jasper Knulst
3
Incentro©2012
whitepaper webhosting partijen aankloppen. Wanneer momenteel alleen een aggregaat beschikbaar is, moet de granulaire data ook aanwezig en opvraagbaar zijn. Indien de logging intern wordt beheerd kan het loggingniveau worden verhoogd of voorkomen worden dat de oudste logs niet worden gewist maar opgeslagen. Big Data bronnen kunnen ook publieke internet databronnen zijn zoals data.gov of data.overheid.nl of knmi.nl. Het grootste deel van de berg data onder water bestaat verder uit ongestructureerde data zoals webcontent, social media, email en andere zakelijke documenten. Hadoop kan ook deze bronnen verwerken, maar de kostencomponent ‘analyse’ zal groter worden naarmate de complexiteit toeneemt. De vraag of ongestructureerde bronnen als eerste of als laatste boven de lijn uitkomen hangt natuurlijk sterk af van de business case. Hier volgen nog enkele use cases waarvoor Hadoop ingezet kan worden.
Hadoop en NoSQL NoSQL en Hadoop worden beiden veelvuldig genoemd in de context van big data en dit blijkt nogal verwarrend te zijn. NoSQL is een verzamelterm voor een tiental non-relationele databases, waarin records worden beheerd. Hadoop behoort niet tot de NoSQL-databases. Het beheert geen records maar files en werkt niet als een database. Hadoop werkt batchgewijs en heeft typisch langere responstijden, vooral gezien de grote hoeveelheid data die normaalgesproken per opdracht wordt verwerkt. Er is dan weer wel een NoSQL-database die Hadoop als onderliggend filesysteem gebruikt (HBase), om de verwarring compleet te maken. Het specialisme van NoSQL is het bliksemsnel opdienen van één of enkele records uit zeer vele, bijvoorbeeld wanneer een webpagina wordt opgevraagd; heel veel kleine ‘units of work’ (jobs) tegelijk dus. Hadoop verwerkt typisch weinig, maar wel hele grote jobs en heeft met name bestaansrecht voor het offline destilleren van informatie uit zeer veel data. Het resultaat wordt dan overwegend door andere applicaties gebruikt. Wat Hadoop en NoSQL gemeen hebben is de gedistribueerde opslag (meerdere servers), de horizontale schaalbaarheid en het open source karakter. Tot zover NoSQL.
Data Sandboxing & Archiving Om nieuwe (big)databronnen te evalueren is een Hadoop cluster een uitkomst. De analyse kan beginnen zonder dat er een schema op de data wordt gelegd. Ik heb te maken gehad met logfiles van 100 miljoen regels die niet in een RDBMS geladen konden worden. Hoe kom je er in zo’n geval achter wat de kwaliteit is van deze bron? Hadoop is ook geschikt als dataarchief. Een DWH kan ontlast worden door ‘oude’ data naar Hadoop te verplaatsen. Denk ook aan de verplichte opslag van DWH bronfiles. De data kunnen met meerdere compressieformaten gereduceerd worden terwijl ze toch on-line en verwerkbaar blijven. Compressie is overigens een standaard voorziening in Hadoop. Het herkent de gebruikte compressie en voert de decompressie automatisch uit voordat de data verwerkt worden.
Wat zijn dan die databronnen onder het huidige waterniveau? Het zijn bijvoorbeeld relationele datadumps op tape die zijn verwijderd omdat het RDBMS zuchtte onder de belasting. Te herkennen aan; “we houden nu maar 30 dagen historie vast, want anders wordt het te veel voor de database..”. Hadoop kan ‘tabellen‘ als delimited files opslaan en vervolgens met MR filtering, aggregatie en joins uitvoeren als ware het een tabel (zie kader Hive). Een groot deel van de Big Data bronnen bestaat uit logs. Als je meer wilt weten over een proces, de klant of een websitebezoeker kan een bedrijf ofwel bij leveranciers als Jasper Knulst
4
Incentro©2012
whitepaper ETL Engine Een interessante mogelijkheid is een ETL tool gericht taken in een batch te laten ‘uitbesteden’ aan het Hadoop cluster. Denk aan zware recursieve berekeningen, een dataformaat dat niet ondersteund wordt door de ETL tool of een voorbewerking op een bronbestand die te lang duurt. Inmiddels integreren de meeste ETL vendors met Hadoop voor het uitwisselen van files uit HDFS naar RDBMS en andersom. Een logfile in een niet gangbaar formaat kan worden geparsed, gefilterd en geaggregeerd om vervolgens het resultaat terug te laden in het DWH. Pentaho’s PDI, Talend en sinds kort ook Informatica’s Powercenter zijn zelfs in staat om met de vertrouwde componenten uit de GUI automatisch MR code te genereren. Een goeie ontwikkeling, want ETL engines opschalen is kostbaar en niet lineair.
kenniswerkers niet te overspoelen en in staat te stellen om uit de massa nog relevante informatie te selecteren en te analyseren zijn slimme algoritmes nodig die automatisch de essentie van een tekst kunnen vaststellen. Relevante vragen zijn bijvoorbeeld; “Zijn deze emails te koppelen aan één van onze producten?” en “Tot welke categorie kan dit document gerekend worden?”. Inmiddels zijn er veel open source implementaties van algoritmes voor indexatie, ranking, clustering, classificatie, entity extraction en NLP waardoor het mogelijk is met Hadoop op kleinere schaal ‘Googletje te spelen’.
Proprietary Vendors In 2011 is duidelijk geworden dat Hadoop het leidende platform is geworden voor gedistribueerde HPC. Hier zijn enkele, maar zeker niet alle nieuwsfeiten van vorig jaar. Er zijn nu meerdere commerciële Hadoop distributies op de markt van Cloudera, Hortonworks, IBM en MapR, in wat ook wel de ‘distro war’ wordt genoemd. Deze producten bieden een gepatchde versie van standaard Apache Hadoop, enkele additionele tools en enterprise support. IBM bracht haar InfoSphere Biginsights platform uit, een distributie van standaard Hadoop onderdelen met een IBM sausje. Microsoft heeft recentelijk de handdoek in de ring gegooid en de ontwikkeling van het eigen HPC product Dryad gestaakt. Op haar cloud platform Azure gaat Microsoft Hadoop aanbieden. Hadoop op Windows dus. De meeste BI tools kunnen inmiddels data ophalen uit Hadoop en presenteren. Vendors van analytische en MPP databases als Vertica, Sybase, Infobright, Netezza, Greenplum en Teradata en Aster Data buitelden over elkaar heen met nieuws over de uitkomst van connectoren voor Hadoop en haastten zich te onderstrepen waar de meerwaarde van hun producten ligt tov Hadoop. Die meerwaarde is er, maar het
Advanced Analytics Dit is waar de meest aansprekende succesverhalen van Big Data analyses op zijn gebaseerd. Het voorspellen obv gevonden patronen, producten die vaak samen worden verkocht, het inspelen op het meest waarschijnlijke volgende klantevent en het toekennen van profielen op basis van gedrag. In Hadoop kunnen alle open source libraries voor statistische analyses (zoals R) ingezet worden. Mahout is een aan Hadoop gelieerd subproject met een rijke verzameling datamining algoritmes waarvan de meeste specifiek voor gedistribueerde verwerking op Hadoop zijn ontworpen.
Ongestructureerd De grote belofte van Hadoop ligt mijns inziens in het omvormen van tekst naar gestructureerde data. De omvang van ongestructureerde data wordt groter ingeschat dan gestructureerde data. Om Jasper Knulst
5
Incentro©2012
whitepaper toont ook aan dat Hadoop als een nieuwe speler wordt gezien om rekening mee te houden. Greenplum bracht haar eigen Hadoop distributie obv MapR op de markt; Greenplum HD. Helaas draait Hadoop niet mee op dezelfde nodes als de Greenplum PostgreSQL database, want dan zou een uniform platform ontstaat voor zowel gestructureerde als ongestructureerde data. Het product is nu eigenlijk een Hadoop appliance naast de Greenplum DB. Oracle kondigde half januari nog haar eigen Hadoop appliance aan. Dit is een 18 nodes tellend rack met voorgeconfigureerde en geoptimaliseerde nodes obv de Cloudera distributie. Ik ben benieuwd of er een markt is voor Hadoop appliances aangezien dit in druist tegen het commodity hardware voordeel.
release. Anderzijds zorgt het ervoor dat Hadoop niet een nieuwe informatiesilo wordt en bestaande investeringen in BI tools beschermd worden.
Naast de grote spelers positioneren veel specialisten zich met integratie- en uitbreidingsproducten voor Hadoop. Specifieke lacunes worden opgevuld, maar er moet wel voor betaald worden. MapR bracht een Hadoop distributie waarin het gehele HDFS is herschreven (in de programmeertaal C++) om oa het ‘single point of failure’ (SPOF) van de Hadoop namenode aan te pakken. MapR zegt dat haar distributie veel sneller is. Karmasphere en Datameer richten zich op het vereenvoudigen van analytische workflows. Beiden claimen dat analyses in Hadoop zo eenvoudig worden door wizzards en een Excel-achtige workspace dat er geen Java specialisten meer nodig zijn. Self service analyses op Hadoop dus. Bovendien beantwoorden deze producten aan de vraag naar visualisaties van MR resultaten direct vanuit Hadoop, dus zonder additionele BI tools.
Dat JP Morgan Chase Hadoop al sinds 3 jaar inzet voor fraude detectie, risk assesment, datamining en social media sentiment analyse [5] toont aan dat Hadoop volwassen genoeg is om een bedrijfskritische rol te vervullen. De bank heeft de beschikking over 150 PB aan data waarvan een deel dus in Hadoop. “Hadoop allows us to store and analyse data that we never could before” vertelde Larry Feinsmith tijdens zijn presentatie. Ook de Bank of America is een Hadoop gebruiker met soortgelijke use cases.
Hadoop Implementaties Dat het niet alleen bij theorie blijft blijkt ook uit een aantal aansprekende cases die gepresenteerd werden tijdens Hadoop World 2011, een jaarlijks evenement dat plaatsvond op 8 en 9 november in New York. Facebook, Yahoo, StumbleUpon, LinkedIn en Ebay zijn Hadoop grootgebruikers en trekken veel aandacht. Data hosten en toegankelijk maken is hun kernactiviteit. Meer herkenbaar en interessant waren echter de puur-analytische toepassingen van Hadoop.
Het Hadoop Ecosysteem Er zijn een aantal interessante tools ontstaan rondom Hadoop. Het zijn allemaal subprojecten van de Apache Sofware Foundation (ASF). Gratis dus. Ze vullen Hadoop aan op belangrijke punten waardoor een breed platform ontstaat voor dataverwerking. Het ecosysteem is onder te verdelen in de functionele categorieën interfaces, extensies, metadata, core-hadoop, database en management (zie figuur II).
Het grote aanbod van commerciële vendors houdt enerzijds het open source aanbod van Hadoop scherp. Een oplossing voor het SPOF probleem en verdere optimalisaties zijn ook onderdeel van de volgende open source Jasper Knulst
6
Incentro©2012
whitepaper programmeertalen van statistische pakketten. In vergelijking met Hive zijn complexere bewerkingen mogelijk zoals geneste constructies.
Hive Met Hive kan iedereen met basale SQL kennis MR code genereren en uitvoeren zonder enige kennis van Java. Het presenteert soortgelijke files in HDFS mappen als tabellen. Hive werkt het beste met semi-gestructureerde files, zoals dumpfiles uit een RDBMS of andere files met een field delimiter. Gebruikers kunnen een fieldmapping aanmaken in de vorm van een CREATE TABLE opdracht. Alle interactie verloopt via HiveQL (HQL) wat bijna één op één is met het MySQL SQL dialect. De DDL definitie maakt metadata aan over de files waaruit de ‘tabel’ is opgebouwd waardoor Hive in staat is om HQL queries te vertalen naar MR code in Java. Indien nodig wordt de query over meerdere MR jobs verdeeld. Hive ondersteunt inmiddels complexe joins, subqueries, indices, partities, hints en ODBC/JDBC zodat Hadoop integratie met sommige BI tools een realiteit is.
Hue Hadoop is naar maatstaven van hedendaagse tools nog niet erg gebruiksvriendelijk. De tool Hue voorziet in deze behoefte met een fraaie webinterface voor Hadoop. Via Hue kunnen oa files worden bekeken, geladen en gedownload uit HDFS. Via Hue kunnen MR jobs worden gelanceerd en gemonitord en is er een usermanagement module. Ten slotte is er een uitgebreide webinterface voor Hive. Hue is volledig webbased. Dus eenvoudige toegankelijkheid voor Hadoop via het bedrijfsnetwerk. Sqoop Sqoop voorziet in de uitwisseling van data tussen RDBMS en Hadoop. Ook Sqoop is een abstractielaag om MR code te genereren. In een MR job benaderen meerdere nodes tegelijk de database voor snelle parallelle imports en exports.
Pig Pig is soortgelijk aan Hive. Het verschil is dat de interactie verloopt met een scripting taal genaamd ‘Pig latin’ die lijkt op de
Figuur II. Overzicht Hadoop ecosysteem
Jasper Knulst
7
Incentro©2012
whitepaper
Flume Wanneer er een noodzaak is om data near real-time te analyseren biedt Flume uitkomst. Een Flume cliënt kan increments van bijvoorbeeld logfiles of webbronnen monitoren, consolideren tot files en naar HDFS sturen voor verwerking.
snelle responstijden en interactiviteit voor relationele data en Hadoop als werkpaard voor het zware werk en het omzetten van complexe formaten. Ik raad iedereen aan eens een kijken op de websites van Apache Hadoop [6]en Cloudera [7] voor nog veel meer use cases.
HBase HBase is de NoSQL database die HDFS als onderliggend filesysteem voor persistente opslag gebruikt. Schaalbaarheid en snelle random read/write transacties zijn de specialiteit van HBase, waardoor het met name wordt toegepast om voor omvangrijke websites razendsnel data te serveren voor bezoekers. Voor BI toepassingen heeft HBase nu nog een aantal handicaps, maar ook op dit vlak zijn er volop ontwikkelingen.
Hadoop in Nederland Zal Hadoop Nederland veroveren? De eerste implementaties zijn er al. Ik schat het aantal organisaties met een eigen cluster op tien tot vijftien. Niet alle early adaptors willen hier ruchtbaarheid aan geven. Het gaat immers om technologie die een concurrentievoordeel kan opleveren. Een aantal vooruitstrevende partijen hebben de stap gezet. Bol.com en Marktplaats hebben Hadoop clusters [8] waarmee op basis van data uit weblogs aanbevelingen voor websitebezoekers worden berekend en ad-hoc analyse worden gedaan. Een grote internetmedia uitgever heeft een eigen Hadoop cluster voor het filteren en aggregeren van gigantische weblogs.
Een andere interessante case was die van één van 4 grote telecom aanbieders in Zuid-Korea genaamd KT Telecom. Om de gewenste analyses op het groeiend aantal Call Detail Records (CDR’s) te faciliteren is besloten de data te migreren van een Oracle platform naar Hadoop. Hierbij worden meerdere componenten uit het Hadoop Ecosysteem ingezet zoals Hive, Sqoop en Flume. Er wordt search technologie ingezet om de data snel toegankelijk te houden via meerdere ingangen als alternatief voor Oracle indices.
Wetenschappelijk Nederland kan vanaf begin dit jaar gebruik maken van een groot Hadoop cluster van Sara bestaande uit 500 CPU cores. RIPE NCC in Amsterdam, een partij die een belangrijke rol speelt in de internetinfrastructuur voor Noordwest Europa, heeft data over internetroutering vanuit MySQL gemigreerd naar een Hadoop cluster bestaande uit 8 nodes [9]. De Rabobank en een bekende energiereus zijn van start gegaan met pilots op eigen Hadoopclusters om de meerwaarde van Hadoop aan te tonen. Deze pilotclusters werken niet zelden als een magneet op andere databronnen uit dezelfde organisatie die momenteel nog onbenut blijven. In het KPN concern lopen meerdere projecten om met
Bij travel en leisure website Orbitz wordt Hadoop toegepast als extensie op een bestaand DWH. Complexe bronbestanden worden voorbewerkt in Hadoop en de resultaten geladen in een DWH obv Greenplum. Complexe statistische jobs over grote datasets worden uitbesteed aan het Hadoop cluster. Op die manier wordt elk onderdeel optimaal ingezet; Greenplum voor Jasper Knulst
8
Incentro©2012
whitepaper
Figuur III. Hadoop verovert Nederland
Hadoop geautomatiseerd metadata te genereren uit webcontent en een ander om logfiles te interpreteren.
staat wordt gesteld om zelf datasets te exploreren. Ook uit de hoek van de pleitbezorgers voor dataquality en datagovernance wordt gemopperd. Zij stellen dat de inzichten uit de analyse van big data minder betrouwbaar of bruikbaar zouden zijn, omdat deze zijn verworven door programmeurs in plaats van BI-professionals. Helaas diskwalificeren zij de nieuwe technologie daarom op voorhand. Dat Hadoop voor de meeste BI-professionals ver buiten hun ‘comfort zone’ ligt speelt hierbij zeker een rol. Laat u niet misleiden; de nieuwe mogelijkheden zijn te mooi om te laten liggen.
Conclusie De komende jaren zal blijken of Hadoop in Nederland breed geïmplementeerd zal worden. Een factor die de adoptie van Hadoop in de weg zou kunnen staan is de beschikbaarheid van de analytische capaciteit om waarde uit nieuwe databronnen te destilleren. BI professionals kunnen prima omgaan met SQL en op SQL gebaseerde BI tools, maar worden momenteel nog niet goed bediend door tools die met Hadoop integreren. Joinen, filteren en aggregeren van gestructureerde data met Hive is het probleem niet, er zijn al veel implementaties waar Hadoop alleen op basis daarvan wordt ingezet. Hadoop valt niet goed in de trend van self-service BI waarbij een brede groep in Jasper Knulst
In de VS is er inmiddels een groot tekort aan zogenaamde ‘data scientists’. Bij de omgang met complexe databronnen en voor het verwerven van minder grijpbare inzichten zijn statistiek, wiskunde en bovenal Java skills noodzakelijk. Er blijken maar weinig mensen te zijn die deze vaardigheden combineren en 9
Incentro©2012
whitepaper dit is een factor die verdere adoptie in de weg zou kunnen staan.
gaan houden met het verwerven van waardevolle informatie uit grote hoeveelheden data. Ten derde zouden Hadoop en aanverwante tools op den duur gebruiksvriendelijker kunnen worden zodat het vakgebied minder specialistisch wordt. Op dat vlak wordt al veel werk verzet, maar het is nog lang niet zover dat een breed publiek direct met Hadoop kan werken, hoezeer vendors ook roepen dat dat wel zo is.
Een drietal scenario’s zijn denkbaar. Ten eerste zouden BI professionals de overstap kunnen maken naar Hadoop en NoSQL gerelateerde tools. Ik ben hier zelf een voorbeeld van; aangetrokken door de vele nieuwe mogelijkheden. Ten tweede zouden analytisch ingestelde Java programmeurs, die nu applicaties bouwen, zich bezig kunnen
Jasper Knulst is Hadoop en BI consultant bij Incentro Gildeweg 5B 2632 BD Nootdorp The Netherlands E:
[email protected] T: +31157640750 M: +31619667511 W: www.incentro.com
Bronnen: [1] http://sortbenchmark.org/ [2]Voor het laatste heb ik geen vergelijk op een RDBMS platform, omdat het niet gelukt is dezelfde data te laden. [3]http://www.infoworld.com/d/open-source/whats-the-new-york-times-doing-hadoop-392 [4] http://en.wikipedia.org/wiki/Apache_Hadoop [5] http://www.informationweek.com/news/software/info_management/231902645?pgno=2 [6] http://wiki.apache.org/hadoop/PoweredBy [7] http://www.cloudera.com/resources/Hadoop+World/ [8] Java Magazine 4, september 2011, TechRally bij Bol.com levert veel nuttigs op [9] Hadoop and HBase at RIPE NCC, http://www.cloudera.com/blog/2010/11/hadoop-and-hbase-atripe-ncc/ Jasper Knulst
10
Incentro©2012