Hadoop: Stordataanalyse og gule elefanter

Analyse på såkalte «Big Data» er et hot tema, spesielt innen markedsanalyse, og dataplattformen Apache Hadoop blir gjerne assosiert med hjertet i et stordatasystem. Hva er det med denne teknologien, oppkalt etter en gul lekeelefant, som er så forlokkende? Er det bare en hype, eller er det, som entusiastene hevder, en datarevolusjon på gang?

Øyvind W. Remme

Om forfatteren

Kun en liten prosentandel av det tilgjengelige datahavet blir utnyttet til forretningsinnsikt i dag, og mens det diskuteres hva som er potensialet i de raskt voksende og uutnyttede dataene, er det liten tvil om at vi ønsker å kombinere flere datakilder, dataformater og ikke minst analysere på større datamengder enn vi hittil har hatt muligheten til. Mange av disse datakildene har i praksis vært utilgjengelige for analyseformål frem til nå, da store datamengder med komplekst og ustrukturert innhold har ført til altfor dyre og tidkrevende løsninger. Det er her Hadoop kommer til sin rett.

Hadoop 101

Hadoop er programvare for lagring og prosessering av store datamengder på alle mulige formater. Prinsippet er egentlig genialt enkelt: Istedenfor å kjøre på en stor og dyr maskin med store lagringsenheter, så distribueres dataene sammen med dedikert programvare ut på mange små og enklere computere, som gjerne blir kalt Hadoop-klynger (fra det engelske ordet «clusters»).

Bruk av slike klynger med standard hyllevarecomputere, gjør at de totale maskinvare- kostnadene blir vesentlig rimeligere enn et tradisjonelt server-oppsett. Siden dette oppsettet resulterer i ekte parallellkjøring, er det mulig å kjøre analyser ekstremt raskt, med relativt rimelig investeringskostnad. Samtidig tar Hadoops lagringsmekanisme hensyn til at computere kan krasje i ny og ne gjennom selvreparerende mekanismer. Dette gir oss en reell mulighet til å ta relativt trygt vare på alle mulige data og ha dem direkte tilgjengelig for analyse i all fremtid.

Hadoop er basert på åpen kildekode og omfatter et stort økosystem av komponenter til ulike formål. Det er her kompleksiteten ligger: Hva skal vi velge og hvordan går vi frem? Mer om dette lenger ut i artikkelen.

Inspirert av Google

Grunnmekanismen til Hadoop ble utviklet i 2005 av Doug Cutting og Mike Cafarella, som i flere år hadde strevet med å optimalisere sin web-crawler og søkemotor, Nutch. Det var etter å ha lest en artikkel som Google publiserte i desember 2004, om hvordan de hadde bygget opp sitt filsystem, at Cutting og Carfella ble satt på rett spor. I 2006 gikk Cutting til Yahoo, hvor han videreutviklet lagrings- og prosesseringskomponentene som et åpen kildekode-prosjekt. Prosjektet fikk navnet Hadoop, oppkalt etter sønnens gule tøyelefant. Web-crawler-komponenten er videreført som eget åpen kildekode-prosjekt og heter fortsatt Nutch. Doug Cutting er nå Chief Architect hos Hadoop-distributøren Cloudera, mens Mike Cafarella har fortsatt sin akademiske karriere og er nå Assistant Professor ved University of Michigan.

Markedsanalytikernes drøm

I jakten på et mer helhetlig kundebilde ønsker vi å komplettere med analytisk innsikt fra flere og mer ustrukturerte datakilder, da spesielt basert på tekstanalyse. Stadig flere bransjer får et tettere samspill med kundenettverket via sosiale mediekanaler, som Facebook og Twitter, eller relevante blogger og nyhets-kanaler. Sentimentanalyser med Hadoop-relaterte analytics-verktøy kan brukes til å måle kunders persepsjon og holdninger i forhold til for eksempel merkevarer, tjenester eller arrangementer, noe som kan bidra til å virkelig forstå relasjonen til kundene og levere bedre tjenester på tvers av alle kanaler.

Operasjonelle analyser som sanntidsanalyse av web-klikk eller annen trafikkanalyse er også gode brukstilfeller for Hadoop. Mange hevder vi bare har sett begynnelsen på et ras av nye produkter som baserer seg på analyse av datastrømmer fra ulike sensorer. Det er for eksempel allerede forsikringsselskaper som tilbyr individuell forsikringspremie basert på kjøremønster, ved bruk av sensorer som kundene plugger inn i bilen. I henhold til Truls Berg, generalsekretær i Innovation Forum, vil vi innen 2030 ha 100 trillioner sensorer som sender data til oss.

Sarkasmedetektor

En del virksomheter har dedikerte personer som overvåker hva som skrives om selskapet og produktene i diverse kanaler, for eksempel for å kunne agere raskt på eventuell negativ omtale. Det kan dog bli behov for mange medarbeidere for å fange opp alt som skjer. Med web-aviser, blogger, sosiale medier etc. vil maskinell innsamling, lagring og analyse etter hvert bli mer hensiktsmessig.

Men enten det dreier seg om manuell eller maskinell tolkning, vil unøyaktighet og feiltolkninger forekomme. Da komikeren Ryan Hand la ut en Twitter-melding hvor han hevdet at «en gråtende kvinne ved Ryanairs inn- sjekking måtte betale ekstra for følelsesmessige bagasje», gikk det kun to minutter før han fikk følgende svar fra Ryanair: «Hei Ryan, på hvilken flyplass skjer dette?» Det ble selvfølgelig en hit på Twitter og historien ble fanget opp av Daily Mail. Artikkelen sier ikke noe om hvorvidt Ryans tweet ble fanget opp av maskinelle prosesser eller ikke, men historien er likevel en god illustrasjon på hvor mange fallgruver det kan ligge i analyser av store mengder tekstlige data. Å få programvare til å for eksempel forstå ironi er fortsatt en stor utfordring. Talsmannen for Ryanair tok det i alle fall sportslig og svarte til Daily Mail: «Vi ber om unnskyldning for midlertidige tekniske problemer med vår sarkasmedetektor i dag…»

Den nye datavarehusplattformen?

Siden Hadoop tilbyr en rimelig, pålitelig og massiv datalagringsplattform, gir dette en reell mulighet til å ta vare på alle data (både strukturerte og ustrukturerte) for alltid og samtidig ha dem direkte tilgjengelig. Dette representerer en kjempemulighet for oss analytikere, da vi kan ta råkopier av alle datakilder og bevare dem for fremtidige analysebehov, inklusive de vi enda ikke har identifisert. Dette står i sterk kontrast til dagens regime, der backup av kildene har begrenset levetid og lagres på en måte som i praksis gjør dem utilgjengelige. Datavare-huset, på sin side, tar kun vare på data som er sirlig spesifisert, vasket og transformert for å passe inn i en nøye tilrettelagt datastruktur.

Formålet til datavarehuset er å sikre god struktur og kvalitet på dataene som tas inn, noe som går på bekostning av både implementeringstid og hvilke data som blir ivaretatt. Men selv om 100% kvalitet er viktig til en del formål, for eksempel økonomisk rapportering, er det mange brukstilfeller der det er nok at analysene viser retning, for eksempel i strategiske vurderinger og produktutvikling. Det er derfor behov for å ivareta rådata uten- for rammene av det tradisjonelle datavarehuset.

Den største nytten til Hadoop ligger i høyhastighetsanalyse på enorme data- mengder og kompliserte formater. Dette gjør Hadoop til en viktig tilleggsmodul til dagens datavarehus, og en del hevder at Hadoop vil erstatte datavarehuset på sikt. Første steg for de fleste, vil likevel være å anvende Hadoop som et forkammer (staging-område) til datavarehuset. Da benyttes Hadoop til midlertidig (eller permanent) lagring av store rådata og prosessering av indikatorer som deretter lastes videre inn i datavarehusets strukturerte regime.

Hadoop-økosystemet

Kjernen i Hadoops økosystem er opprinnelig to komponenter: Hadoop Distributed File System (HDFS), selve datalagringen som kan fordele enorme mengder data over tusenvis av computere (ofte kalt noder), og den andre komponenten er MapReduce som kan behandle disse dataene i parallell på de ulike maskinene.

Siden MapReduce krever java-kompetanse og relativt omfattende koding, har det dukket opp ulike overbygg som forenkler utviklingen, blant annet Apache Pig og Hive. Det har også vokst frem forbedringer til HDFS for mer dynamisk datalagring og interaktivitet, hvorav den kolonnebaserte Apache HBase er spesielt verdt å nevne.

Ut over kjernefunksjonalitet og administrative komponenter, er det spesielt to områder som er viktig sett fra analytikerens ståsted: Det ene er dataintegrasjon og datalast. Alle store dataintegrasjonsleverandører har fokus på å tilby Hadoop-integrasjon, men om vi holder oss til åpen kildekode-sfæren, vil kompo-nenter som Apache Flume, Sqoop eller Kafka være aktuelle, hvorav sistnevnte (opprinnelig utviklet av Linkedin) er tilpasset strømningsdata. Det andre området er analyse og maskinlæring. I dette segmentet finner vi alle de store Analytics-leverandørene, som SAS Institute og IBM, samt nisjeprodukter som Datameer, Karmasphere og Platfora. Innenfor Apache-sfæren, finner vi komponenter som Crunch, Drill, Giraph og Mahout. Apache Storm (opprinnelig utviklet av Twitter) har mange bruksområder innen sanntids- prosessering, blant annet sanntidsanalyse og -maskinlæring, men kan også være et godt alternativ for lasting av strømningsdata. R-brukere har muligheten til å analysere på Hadoop-data med bruk av RHadoop.

Hadoop-Distroer

Det store veldet av Hadoop-komponenter og ulike versjoner av disse, kan være svært uoversiktlig og vanskelig å navigere i. Det å plukke ut og sette sammen kompatible enkeltkomponenter krever omfattende teknisk kompetanse og kan vise seg å bli komplisert å forvalte. Oppsett, drift og optimalisering av Hadoop-klyngene er ikke trivielt og krever ofte erfaring og kompetanse som er ny og lite tilgjengelig i markedet. Bruk av en ferdig tilrettelagt komponentdistribusjon, en såkalt Hadoop-distro, vil kunne forenkle denne prosessen en god del.

Det finnes mange ulike Hadoop-distroer med sammensetninger av kompletterende og kompatible komponenter, og selv valg og oppsett av en distro krever innsikt. Siden de har ulike tilnærminger med sine styrker og svakheter, vil det være viktig å definere våre behov både på kort og lengre sikt. Et eksempel går på behov for å håndtere sanntidsdatastrømmer, da dette kan sjalte ut noen alternativer.

Fra et mer teknisk perspektiv, må vi velge om vi ønsker å sette opp Hadoop-klyngen selv, kjøpe en løsning med ferdig oppsatt maskinvare og programvare, ofte referert til som en Appliance, eller benytte en skyløsning. Først- nevnte er rimeligere i anskaffelse (en del distroer er gratis), men vil kreve mer forvaltning. Støtte- funksjoner og opplæring varierer også mye.

En Appliance kommer ferdig med kompatibel maskinvare og programvare, og leverandørene av slike har som regel god støtte og vedlikehold. Ulempen er at et slikt oppsett ofte er mer rigid og det er en relativt dyr anskaffelse med inkrementelle kostnader for utvidelse.

Sett i forhold til forenklet anskaffelse, konfigurasjon og forvaltning, kan en sky-løsning kan være et godt alternativ. Skyløsninger har også den fordelen at det er en relativt rimelig inngangsbillett og vi kan kjøpe mer lagringsplass og prosesseringskraft etter behov. Det er dog flere ulemper som må tas i betraktning. Den vanligste innsigelsen går på datasikkerhet og personvernhensyn (selv om dette er et omdiskutert tema og angivelig midlertidig problemstilling), mens en annen utfordring går på kompleksitet og kostnad knyttet til å flytte data til og fra skyen.

Blant de mange Hadoop-distroene, er det tre selskaper som virkelig skiller seg ut: Cloudera, Hortonworks og MapR. Disse tre er såkalte «pure play» Hadoop-leverandører. Selv om det er disse tre som oftest blir trukket frem, kan våre behov, teknologi- og partner- preferanser likevel trekke konklusjonen mot andre leverandører. Gigantselskaper som Amazon, IBM, Microsoft og Oracle har enten egne distroer eller en eller annen form for Hadoop-partnerskap.

Amazon Web Services er antagelig den største skyløsningen, men ikke den første man tenker på i Hadoop-sammenheng, da underliggende teknologi ikke blir frontet i like stor grad som hos de andre.

Cloudera er den leverandøren som oftest blir trukket frem som markedslederen, med over 350 kunder, og selskapet ble etablert av tunge utviklere fra selskaper som Facebook, Google, Oracle og Yahoo. Clouderas sjefsarkitekt er ingen ringere enn Doug Cutting, som bidro til å skape Apache Hadoop.

Både Cloudera og Hortonworks er basert på samme kjernen av Apache Hadoop. Men mens Hortonworks har åpen kildekode-lisens og er gratis, har Cloudera en kommersiell lisens. Cloudera har for øvrig også en gratis åpen kildekode-variant, men pakken inkluderer da ikke administrasjonsmodul eller annen proprietær programvare som bidrar til mye av merverdien. En annen spennende forskjell på disse to, er at mens Cloudera tar mål av seg til å bli en «Enterprise Data Hub» og i ytterste forstand erstatte datavarehuset, er Hortonworks tilnærming å være en ren Hadoop-distro med hundre prosent åpen kildekode og har isteden inngått samarbeid med datavarehusselskapet Teradata. SAS Institute, som er markedsleder innen Analytics, har inngått partnerskap med både Cloudera og Hortonworks. Hortonworks er for øvrig den som har bidratt mest til Hadoop åpen kildekode-fellesskapet de siste årene, og står blant annet bak MapReduce 2.0 (YARN).

MapR går mer i den proprietære retningen på samme måte som Cloudera, men har i tillegg erstattet HDFS-komponenten med sitt eget proprietære filsystem, kalt MapRFS. Dette filsystemet inkluderer funksjonalitet for dataforvaltning, pålitelighet og ikke minst brukervennlighet, noe som er sentralt for mange virksomheter og således gjør den til en sterk utfordrer.

Hvordan lykkes?

De viktigste suksesskriteriene for å lykkes med Hadoop er å velge riktig pilotprosjekt og finne rette ressurser. Det er knapphet på folk med Hadoop-kompetanse, og det vil som regel være behov for å bygge opp kompetanse ved å sette sammen et team (en «Data Science Lab») med motiverte og lærevillige personer, både på IT-siden og analytikersiden.

Hovedutfordringen er å velge programvare-tilnærming og eventuelt Hadoop-distro. Det er mange fallgruver. En rimelig inngangsbillett kan i neste omgang bli omfattende og dyr forvaltning. På den andre siden kan fiks ferdige løsninger fange oss i rigide oppsett og kostbare utvidelser. For en virksomhet med større ambisjoner innen stordataanalyse, bør det legges vekt på leverandørstøtte og vedlikeholdstjenester, som tilgang til support- og kunnskapsbase, programoppdateringer, samt gode administrasjons- og overvåkingsverktøy. Funksjonalitet for sikkerhet, som tilgangsstyring og beskyttelse av person-opplysninger, står kanskje ikke sentralt i et pilotprosjekt, men må også med i vurdering av programvaretilnærming.

Dataintegrasjon er en kritisk komponent. Mange virksomheter har en etablert data-integrasjonsplattform, så det er naturlig å starte med å evaluere om eksisterende verktøy også er egnet for Hadoop. Dersom vi velger en skyløsning, må vi være spesielt oppmerksom på den ekstra utfordringen med å flytte data inn og ut at skyen.

Som alltid: Start i det små og bygg erfaring. Hadoop kommer!

Andre artikler du kan være interessert i

Se alle artikler

Apples nye policy gjør det ulovlig å samle inn og dele data

Apple sin nyeste oppdatering har nå rullet ut på de aller fleste telefoner. Denne oppdateringen er full av nye fremtidsrettede funksjoner,…

teknlogi

Bak teknologi-gigantenes slør

Den første regelen med reklame er: Treff målgruppen din med et tydelig kommunisert produkt. Idag er det vanskelig for mange annonsører…

teknlogi

Coca-Cola på sjekker’n: Coca-Cola + Tinder = sant

Tinder er kanskje kjent som de unges «hooke»-app, hvor de kan sjekke opp kjente og ukjente.  Carat og Coca-Cola  brukte denne…

teknlogi