Delen via


Quickstart: Een e2e-streamingtoepassing bouwen voor Clickstream-analyse

Het analyseren van clickstream-gegevens is een effectieve manier voor bedrijven om het websiteverkeer te optimaliseren en inzicht te krijgen in het gebruikersgedrag. In deze quickstart wordt beschreven hoe u een streamingtoepassing kunt bouwen voor het analyseren van clickstreamgegevens van de website.

De methode die in deze handleiding wordt beschreven, maakt gebruik van een PowerShell-script voor het implementeren van Azure-resources met automatisch gegenereerde voorbeeldgegevensstromen. Met de automatisch gegenereerde gegevens kunt u verschillende analysescenario's voor stromen verkennen en kunt u Moeiteloos Azure-resources implementeren.

Hier volgen de typische scenario's voor het verwerken en analyseren van clickstream:

  • Clickstream-aanvragen filteren
  • Deelnemen aan clickstream met een bestand

Vereiste voorwaarden

Clickstream-aanvragen filteren

In dit voorbeeld leert u GET- en POST-aanvragen van een klikstroom van een website te extraheren en de uitvoeringsresultaten op te slaan in een Azure Blob Storage. Dit is de architectuur voor dit voorbeeld: Clickstream one input

Voorbeeld van een website clickstream:

{
    "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"
}

We gebruiken de scripts die beschikbaar zijn in de GitHub-opslagplaats voor het implementeren van onze vereiste resources:

  1. Open PowerShell vanuit het menu Start en kloon deze GitHub-opslagplaats naar uw werkmap.

    git clone https://github.com/Azure/azure-stream-analytics.git
    
  2. Ga naar de map BuildApplications.

    cd .\azure-stream-analytics\BuildApplications\
    
  3. Meld u aan bij Azure en voer uw Azure-referenties in de pop-upbrowser in.

    Connect-AzAccount
    
  4. Vervang $subscriptionId door uw Azure-abonnements-id en voer de volgende opdracht uit om Azure-resources te implementeren. Dit proces kan enkele minuten duren.

    .\CreateJob.ps1 -job ClickStream-Filter -eventsPerMinute 11 -subscriptionid $subscriptionId
    
    • eventsPerMinute is de invoersnelheid voor gegenereerde gegevens. In dit geval genereert de invoerbron 11 gebeurtenissen per minuut.
    • U vindt uw abonnements-id in Azure Portal-abonnementen>.
  5. Zodra de implementatie is voltooid, wordt uw browser automatisch geopend en ziet u een resourcegroep met de naam ClickStream-Filter-rg-* in Azure Portal. De bronngroep bevat de volgende vijf bronnen:

    Type bron Naam Description
    Azure-functie klikstroom Clickstream-gegevens genereren
    Event Hubs klikstroom Clickstream-gegevens opnemen voor gebruik
    Stream Analytics-taak Klikstroom-Filter Een query definiëren om aanvragen te extraheren GET uit de clickstream-invoer
    Blob Storage (opslag van blobs) klikstroom Uitvoerbestemming voor de ASA-taak
    App Service-plan klikstroom Een noodzaak voor Azure Function
  6. Felicitatie! U hebt een streamingtoepassing geïmplementeerd om aanvragen uit een website clickstream te extraheren.

  7. De ASA-taak ClickStream-Filter gebruikt de volgende query om HTTP-aanvragen uit de clickstream te extraheren. Selecteer Testquery in de query-editor om een voorbeeld van de uitvoerresultaten te bekijken.

    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'
    

    Testquery

  8. Er zijn voorbeeldcodes in de queryopmerkingen die u kunt gebruiken voor andere streamanalysescenario's met één stroominvoer.

    • Aantal klikken voor elk uur

      select System.Timestamp as Systime, count( * )
      FROM clickstream
      TIMESTAMP BY EventTime
      GROUP BY TumblingWindow(hour, 1)
      
    • Afzonderlijke gebruiker selecteren

      SELECT *
      FROM clickstream
      TIMESTAMP BY Time
      WHERE ISFIRST(hour, 1) OVER(PARTITION BY userId) = 1
      
  9. Alle uitvoerresultaten worden opgeslagen als JSON bestand in de blogopslag. U kunt het vinden via: Blob Storage Containers taakuitvoer. Blob Storage

Clickstream-RefJoin

Als u de gebruikersnaam voor de clickstream wilt achterhalen met behulp van een gebruikersbestand in de opslag, kunt u de clickstream koppelen met een referentie-invoer volgens de volgende architectuur: Clickstream twee invoer

Stel dat u de stappen voor het vorige voorbeeld hebt voltooid en voer de volgende opdrachten uit om een nieuwe resourcegroep te maken:

  1. Vervang $subscriptionId door uw Azure-abonnements-id en voer de volgende opdracht uit om Azure-resources te implementeren. Dit proces kan enkele minuten duren.

    .\CreateJob.ps1 -job ClickStream-RefJoin -eventsPerMinute 11 -subscriptionid $subscriptionId
    
  2. Zodra de implementatie is voltooid, wordt uw browser automatisch geopend en ziet u een resourcegroep met de naam ClickStream-RefJoin-rg-* in de Azure-portal . De resourcegroep bevat vijf resources.

  3. De ASA-taak ClickStream-RefJoin gebruikt de volgende query om deel te nemen aan de clickstream met verwijzings-SQL-invoer.

    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. Felicitatie! U hebt een streaming applicatie geïmplementeerd om uw gebruikersbestand te combineren met een website-clickstream.

De hulpbronnen opschonen

Als u dit project hebt geprobeerd en de resourcegroep niet meer nodig hebt, voert u deze opdracht uit in PowerShell om de resourcegroep te verwijderen.

Remove-AzResourceGroup -Name $resourceGroup

Als u van plan bent dit project in de toekomst te gebruiken, kunt u het verwijderen overslaan en de taak voorlopig stoppen.

Volgende stappen

Ga verder met de volgende artikelen voor meer informatie over Azure Stream Analytics: