Loganalyse is een veelvoorkomende use case voor een inauguraal Hadoop-project. Inderdaad, de vroegste toepassingen van Hadoop waren voor de grootschalige analyse van clickstream logs - logs die gegevens registreren over de webpagina's die mensen bezoeken en in welke volgorde ze ze bezoeken.
Alle logboeken met gegevens die door uw IT-infrastructuur worden gegenereerd, worden vaak gegevensuitlaat genoemd. Een logboek is een bijproduct van een functionerende server, net als rook afkomstig van de uitlaatpijp van een werkende motor. Data-uitstoot heeft de connotatie van vervuiling of afval, en veel bedrijven benaderen ongetwijfeld dit soort gegevens met die gedachte in gedachten.
Loggegevens groeien vaak snel en vanwege de hoge geproduceerde volumes kan het vervelend zijn om te analyseren. En de potentiële waarde van deze gegevens is vaak onduidelijk. Dus de verleiding bij IT-afdelingen is om deze loggegevens op te slaan voor zo weinig mogelijk tijd. (Immers, het kost geld om gegevens te bewaren, en als er geen waargenomen bedrijfswaarde is, waarom zou u het dan bewaren?)
Maar Hadoop verandert de wiskunde: de kosten van het opslaan van gegevens zijn relatief goedkoop en Hadoop is oorspronkelijk speciaal ontwikkeld voor de grootschalige batchverwerking van loggegevens.
De use case voor analyse van loggegevens is een handige plek om uw Hadoop-reis te beginnen omdat de kans groot is dat de gegevens waarmee u werkt worden verwijderd of "op de grond vallen". "Sommige bedrijven die consequent een terabyte (TB) of meer klantwebactiviteit registreren per week, verwijderen de gegevens zonder analyse (waardoor u zich afvraagt waarom zij de moeite hebben genomen om het te verzamelen).
Om snel aan de slag te kunnen gaan, zijn de gegevens in dit gebruik waarschijnlijk gemakkelijk te krijgen en omvatten deze doorgaans niet dezelfde problemen die u tegenkomt als u uw Hadoop-reis met andere (beheerde) gegevens start.
Wanneer analisten uit de industrie discussiëren over de snel groeiende hoeveelheid gegevens die er zijn (4. 1 exabytes vanaf 2014 - meer dan 4 miljoen 1TB harde schijven), zijn loggegevens verantwoordelijk voor een groot deel van deze groei. En geen wonder: bijna elk aspect van het leven resulteert nu in het genereren van gegevens. Een smartphone kan honderden logboekinvoeren per dag genereren voor een actieve gebruiker, waarbij niet alleen spraak-, tekst- en gegevensoverdracht, maar ook geolocatiegegevens worden bijgehouden.
De meeste huishoudens hebben nu slimme meters die hun elektriciteitsverbruik registreren. Nieuwere auto's hebben duizenden sensoren die aspecten van hun toestand en gebruik registreren. Elke klik en muisbeweging die u maakt tijdens het surfen op internet zorgt ervoor dat een cascade van logboekinvoeren wordt gegenereerd.
Telkens wanneer u iets koopt - zelfs zonder een creditcard of betaalkaart te gebruiken - registreren systemen de activiteit in databases - en in logboeken.U kunt enkele van de meer gebruikelijke bronnen van loggegevens bekijken: IT-servers, web-clickstreams, sensoren en transactiesystemen.
Elke branche (en alle zojuist beschreven logboektypen) biedt een enorm potentieel voor waardevolle analyses, vooral wanneer u een specifiek soort activiteit kunt gebruiken en vervolgens uw bevindingen kunt correleren met een andere gegevensset om context te bieden.
Overweeg deze typische webgebaseerde browse- en koopervaring:
-
U surft op de site en zoekt naar artikelen om te kopen.
-
U klikt om beschrijvingen van een product te lezen dat uw aandacht trekt.
-
Uiteindelijk voegt u een artikel aan uw winkelwagentje toe en gaat u naar de kassa (de koopactie).
Nadat u echter de verzendkosten ziet, besluit u dat het item de prijs niet waard is en sluit u het browservenster. Elke klik die u hebt gemaakt - en vervolgens stopte met maken - heeft het potentieel om waardevol inzicht te bieden aan het bedrijf achter deze e-commercesite.
Ga er in dit voorbeeld van uit dat dit bedrijf clickstream-gegevens verzamelt (gegevens over elke muisklik en paginaweergave die een bezoeker aanraakt) met het doel inzicht te krijgen in hoe hij zijn klanten beter van dienst kan zijn. Een veel voorkomende uitdaging bij e-commercebedrijven is het herkennen van de belangrijkste factoren achter verlaten winkelwagentjes. Wanneer u een diepgaande analyse uitvoert van de clickstream-gegevens en het gebruikersgedrag op de site onderzoekt, zullen er zeker patronen naar voren komen.
Kent uw bedrijf het antwoord op de ogenschijnlijk eenvoudige vraag: "Worden bepaalde producten meer dan anderen verlaten? Of het antwoord op de vraag: "Hoeveel inkomsten kunnen worden teruggevorderd als u het verlaten van de kar met 10 procent vermindert? "Het volgende geeft een voorbeeld van het soort rapporten dat u aan uw bedrijfsleiders kunt tonen om hun investering in uw Hadoop-zaak te zoeken.
Om het punt te bereiken waarop u de gegevens kunt genereren om de weergegeven grafieken te maken, isoleert u de webbrowsersessies van individuele gebruikers (een proces dat bekend staat als sessieization) , identificeert u de inhoud van hun winkelwagentjes en stel vervolgens de status van de transactie vast aan het einde van de sessie - allemaal door de clickstream-gegevens te bekijken.
Hierna volgt een voorbeeld van het samenstellen van webbrowsersessies door gebruikers door alle klikken en URL-adressen te groeperen op basis van het IP-adres.
In een Hadoop-context werk je altijd met sleutels en waarden - elke fase van MapReduce voert in- en uitvoert gegevens in sleutelsets en waarden in. De sleutel is het IP-adres en de waarde bestaat uit het tijdstempel en de URL. Tijdens de kaartfase worden gebruikerssessies parallel samengesteld voor alle bestandsblokken van de klikstreamgegevensset die is opgeslagen in uw Hadoop-cluster.
De kaartfase retourneert deze elementen:
-
De laatste pagina die wordt bezocht
-
Een lijst met items in het winkelwagentje
-
De status van de transactie voor elke gebruikerssessie (geïndexeerd door de IP-adrescode) < Het verkleiner neemt deze records op en voert aggregaties uit tot het totaal van het aantal en de waarde van verlaten karren per maand en geeft de totalen van de meest voorkomende laatste pagina's die iemand heeft bekeken voordat de gebruikerssessie werd beëindigd.