Läs på engelska

Dela via


Snabbstart: Skapa ett e2e-direktuppspelningsprogram för Clickstream Analysis

Att analysera klickströmsdata är ett effektivt sätt för företag att optimera webbplatstrafik och få insikter om användarbeteende. Den här snabbstarten beskriver hur du kan skapa ett strömmande program för att analysera webbplatsklickströmsdata.

Metoden som beskrivs i den här guiden använder ett PowerShell-skript för att distribuera Azure-resurser med automatiskt genererade exempeldataströmmar. Med automatiskt genererade data kan du utforska olika scenarier för dataströmanalys och enkelt distribuera Azure-resurser.

Här är de vanligaste scenarierna för bearbetning och analys av clickstream:

  • Filtrera klickströmsbegäranden
  • Koppla clickstream med en fil

Förutsättningar

Filtrera klickströmsbegäranden

I det här exemplet lär du dig att extrahera GET och POST begära från en webbplats clickstream och lagra utdataresultatet i en Azure Blob Storage. Här är arkitekturen för det här exemplet: Clickstream one input

Exempel på en webbplats clickstream:

JSON
{
    "EventTime": "2022-09-09 08:58:59 UTC",
    "UserID": 465,
    "IP": "145.140.61.170",
    "Request": {
    "Method": "GET",
    "URI": "/index.html",
    "Protocol": "HTTP/1.1"
    },
    "Response": {
    "Code": 200,
    "Bytes": 42682
    },
    "Browser": "Chrome"
}

Vi kommer att använda skripten som är tillgängliga på GitHub-lagringsplatsen för att distribuera våra nödvändiga resurser:

  1. Öppna PowerShell från Start-menyn och klona den här GitHub-lagringsplatsen till din arbetskatalog.

    PowerShell
    git clone https://github.com/Azure/azure-stream-analytics.git
    
  2. Gå till mappen BuildApplications .

    PowerShell
    cd .\azure-stream-analytics\BuildApplications\
    
  3. Logga in på Azure och ange dina Azure-autentiseringsuppgifter i popup-webbläsaren.

    PowerShell
    Connect-AzAccount
    
  4. Ersätt $subscriptionId med ditt Azure-prenumerations-ID och kör följande kommando för att distribuera Azure-resurser. Den här processen kan ta några minuter att slutföra.

    PowerShell
    .\CreateJob.ps1 -job ClickStream-Filter -eventsPerMinute 11 -subscriptionid $subscriptionId
    
    • eventsPerMinute är indatahastigheten för genererade data. I det här fallet genererar indatakällan 11 händelser per minut.
    • Du hittar ditt prenumerations-ID i Azure Portal-prenumerationer>.
  5. När distributionen är klar öppnas webbläsaren automatiskt och du kan se en resursgrupp med namnet ClickStream-Filter-rg-* i Azure Portal. Resursgruppen innehåller följande fem resurser:

    Resurstyp Name Beskrivning
    Azure-funktion Clickstream* Generera clickstream-data
    Event Hubs Clickstream* Mata in clickstream-data för användning
    Stream Analytics-jobb ClickStream-Filter Definiera en fråga för att extrahera GET begäranden från clickstream-indata
    Blob Storage Clickstream* Utdatamål för ASA-jobbet
    App Service-plan Clickstream* En nödvändighet för Azure Function
  6. Grattis! Du har distribuerat ett strömmande program för att extrahera begäranden från en webbplats clickstream.

  7. ASA-jobbet ClickStream-Filter använder följande fråga för att extrahera HTTP-begäranden från klickströmmen. Välj Testfråga i frågeredigeraren för att förhandsgranska utdataresultatet.

    SQL
    SELECT System.Timestamp Systime, UserId, Request.Method, Response.Code, Browser
    INTO BlobOutput
    FROM ClickStream TIMESTAMP BY Timestamp
    WHERE Request.Method = 'GET' or Request.Method = 'POST'
    

    Testfråga

  8. Det finns exempelkoder i frågekommentarna som du kan använda för andra dataströmanalysscenarier med en ströminmatning.

    • Antal klick för varje timme

      SQL
      select System.Timestamp as Systime, count( * )
      FROM clickstream
      TIMESTAMP BY EventTime
      GROUP BY TumblingWindow(hour, 1)
      
    • Välj distinkt användare

      SQL
      SELECT *
      FROM clickstream
      TIMESTAMP BY Time
      WHERE ISFIRST(hour, 1) OVER(PARTITION BY userId) = 1
      
  9. Alla utdataresultat lagras som JSON en fil i Blog Storage. Du hittar den via: Jobbutdata för Blob Storage-containrar >>. Blob Storage

Clickstream-RefJoin

Om du vill ta reda på användarnamnet för klickströmmen med hjälp av en användarfil i lagringen kan du ansluta klickströmmen med en referensinmatning enligt följande arkitektur: Clickstream två indata

Anta att du har slutfört stegen i föregående exempel och kör följande kommandon för att skapa en ny resursgrupp:

  1. Ersätt $subscriptionId med ditt Azure-prenumerations-ID och kör följande kommando för att distribuera Azure-resurser. Den här processen kan ta några minuter att slutföra.

    PowerShell
    .\CreateJob.ps1 -job ClickStream-RefJoin -eventsPerMinute 11 -subscriptionid $subscriptionId
    
  2. När distributionen är klar öppnas webbläsaren automatiskt och du kan se en resursgrupp med namnet ClickStream-RefJoin-rg-* i Azure Portal. Resursgruppen innehåller fem resurser.

  3. ASA-jobbet ClickStream-RefJoin använder följande fråga för att koppla clickstream med sql-referensindata.

    SQL
    CREATE TABLE UserInfo(
      UserId bigint,
      UserName nvarchar(max),
      Gender nvarchar(max)
    );
    SELECT System.Timestamp Systime, ClickStream.UserId, ClickStream.Response.Code, UserInfo.UserName, UserInfo.Gender
    INTO BlobOutput
    FROM ClickStream TIMESTAMP BY EventTime
    LEFT JOIN UserInfo ON ClickStream.UserId = UserInfo.UserId
    
  4. Grattis! Du har distribuerat ett strömmande program för att ansluta din användarfil med en klickström på webbplatsen.

Rensa resurser

Om du har provat det här projektet och inte längre behöver resursgruppen kör du det här kommandot i PowerShell för att ta bort resursgruppen.

PowerShell
Remove-AzResourceGroup -Name $resourceGroup

Om du planerar att använda det här projektet i framtiden kan du hoppa över att ta bort det och stoppa jobbet för tillfället.

Nästa steg

Om du vill veta mer om Azure Stream Analytics kan du fortsätta till följande artiklar: