Tobias McVey Opera Software Big Data for LinkMedical Mars 2016
Analysen 1-2015-Hadoop
1. TEKNOLOGI
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? .
TEKST: ØYVIND W. REMME, Partner, NextBridge Advisory, ore@nextbridge.no
n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n
NORGES MARKEDSANALYSEFORENINGAnalysen nr. 1/2015 NORGES MARKEDSANALYSEFORENING
2. Øyvind W. Remme
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 proses-
sering 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 hyllevare-
computere, 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.
«Hadoop er programvare for
lagring og prosessering
av store datamengder på alle
mulige formater.»
Analysen nr. 1/2015 NORGES MARKEDSANALYSEFORENING
TEKNOLOGI
3. TEKNOLOGI
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 imple-
menteringstid 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ømnings-
data. 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
«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.»
«Datavarehuset, på sin side, tar kun
vare på data som er sirlig spesifisert,
vasket og transformert for å passe
inn i en nøye tilrettelagt datastruktur.»
NORGES MARKEDSANALYSEFORENINGAnalysen nr. 1/2015 NORGES MARKEDSANALYSEFORENING
4. TEKNOLOGI
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 maskin-
vare 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 vedlike-
hold. 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 kompe-
tanse 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åkings-
verktø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!
«De viktigste suksesskriteriene
for å lykkes med Hadoop er å
velge riktig pilotprosjekt og finne
rette ressurser.»
Analysen nr. 1/2015 NORGES MARKEDSANALYSEFORENING