Loganalys är ett vanligt fall för ett inledande Hadoop-projekt. Faktum är att de tidigaste användningarna av Hadoop var för storskalig analys av Clickstream loggar - loggar som registrerar data om de webbsidor som folk besöker och i vilken ordning de besöker dem.
Alla dataloggar som genereras av din IT-infrastruktur kallas ofta datautsläpp. En logg är en biprodukt från en fungerande server, precis som rök som kommer från en arbetsmotorens avgasrör. Datautsläpp har konnotation för förorening eller avfall, och många företag utvänder utan tvekan denna typ av data med den tanken i åtanke.
Loggdata växer ofta snabbt, och på grund av de höga volymerna som produceras kan det vara tråkigt att analysera. Och det potentiella värdet av dessa data är ofta oklart. Så frestelsen i IT-avdelningar är att lagra denna loggdata i så lite tid som möjligt. (När allt kostar pengar för att behålla data, och om det inte finns något uppfattat affärsvärde, varför lagra det?)
Men Hadoop ändrar matematiken: Kostnaden för lagring av data är relativt billigt och Hadoop var ursprungligen utvecklad speciellt för storskalig batchbehandling av loggdata.
Användningsfallet för loggdataanalys är en användbar plats för att starta din Hadoopresa eftersom chansen är bra att de data du arbetar med blir raderade eller "tappade till golvet. "Vissa företag som konsekvent registrerar terabyte (TB) eller mer av kundens webbaktivitet per vecka kasserar data utan analys (vilket gör att du undrar varför de störde att samla in det).
För att komma igång snabbt är uppgifterna i det här användningsfallet troligt lätta att få och omfattar i allmänhet inte samma problem som du kommer att stöta på om du startar din Hadoop-resa med andra (styrda) uppgifter.
När branschanalytiker diskuterar de snabbt ökande volymerna av data som finns (4,1 exabytes från 2014 - mer än 4 miljoner 1TB-hårddiskar) står loggdata för mycket av denna tillväxt. Och inte konstigt: Nästan varje aspekt av livet leder nu till att data genereras. En smartphone kan generera hundratals loggar per dag för en aktiv användare, som spårar inte bara röst-, text- och dataöverföring utan även geolokaliseringsdata.
De flesta hushåll har nu smarta mätare som loggar sin elanvändning. Nyare bilar har tusentals sensorer som registrerar aspekter av deras tillstånd och användning. Varje klick och musrörelse du gör när du surfar på Internet orsakar en kaskad av loggposter som ska genereras.
Varje gång du köper någonting - även utan att använda ett kreditkort eller betalkort - registrerar du aktiviteten i databaser - och i loggar.Du kan se några av de vanligaste källorna till loggdata: IT-servrar, webbklikstreamer, sensorer och transaktionssystem.
Varje bransch (liksom alla loggtyper som just beskrivits) har stor potential för värdefull analys - speciellt när du kan nollställa en viss typ av aktivitet och sedan korrelera dina fynd med en annan dataset för att skapa sammanhang.
Tänk på den här typiska webbaserade surf- och köpupplevelsen:
-
Du surfar på webbplatsen och letar efter objekt att köpa.
-
Du klickar på för att läsa beskrivningar av en produkt som fångar ditt öga.
-
Till sist lägger du till en vara i din varukorg och fortsätter till kassan (köpåtgärden).
Efter att ha sett fraktkostnaden bestämmer du dock att varan inte är värt priset och du stänger webbläsarfönstret. Varje klick du har gjort - och sedan slutat göra - har potential att erbjuda värdefull insikt till företaget bakom denna e-handelsplats.
I det här exemplet antar du att denna verksamhet samlar in klientdata (data om varje musklick och sidvisning som en besökare "berör") i syfte att förstå hur man bättre kan betjäna sina kunder. En gemensam utmaning bland e-handelsföretag är att känna igen nyckelfaktorerna bakom övergivna kundvagnar. När du utför en djupare analys av klientdata och undersöker användarbeteendet på webbplatsen är det bundet till att mönster kommer fram.
Känner ditt företag svaret på den till synes enkla frågan, "Är vissa produkter övergivna mer än andra? "Eller svaret på frågan," Hur mycket intäkter kan återhämtas om du sänker vagnen över 10 procent? "Följande ger ett exempel på vilken typ av rapporter du kan visa för dina företagsledare att söka sina investeringar i din Hadoop-orsak.
För att komma till den punkt där du kan generera data för att bygga upp de visade graferna, isolerar du webbläsningssessionerna för enskilda användare (en process som kallas sessionisering) , identifierar innehållet i deras kundvagnar, och sedan upprätta transaktionstillståndet i slutet av sessionen - allt genom att undersöka klientdata.
Följande är ett exempel på hur man monterar användarnas webbläsningssessioner genom att gruppera alla klick och webbadresser efter IP-adress.
I ett Hadoop-sammanhang arbetar du alltid med nycklar och värden - varje fas i MapReduce matar in och matar data i uppsättningar av nycklar och värden. Nyckeln är IP-adressen, och värdet består av tidstämpeln och webbadressen. Under kartfasen samlas användarsessioner parallellt för alla filblock i klientdatasatsen som lagras i ditt Hadoop-kluster.
Kartfasen returnerar dessa element:
-
Den sista sidan som besökte
-
En lista över objekt i kundvagnen
-
Transaktionens status för varje användarsession (indexerad av IP-adressnyckeln) < Reduceraren plockar upp dessa poster och utför aggregeringar för att totalt antal och värde av vagnar överges per månad och för att ge totalt antal av de vanligaste sista sidorna som någon visade innan användarens session avslutades.