Partager via


Démarrage rapide : Créer une application de diffusion en continu e2e pour l’analyse clickstream

L’analyse des données de flux de clic est un moyen efficace pour les entreprises d’optimiser le trafic du site web et d’obtenir des insights sur le comportement de l’utilisateur. Ce guide de démarrage rapide explique comment créer une application de streaming pour analyser les données de parcours de clics du site web.

La méthode décrite dans ce guide utilise un script PowerShell pour déployer des ressources Azure avec des exemples de flux de données générés automatiquement. Les données générées automatiquement permettent d’explorer différents scénarios d’analyse de flux et vous aident à déployer facilement des ressources Azure.

Voici les scénarios classiques pour le traitement et l’analyse du flux de clic :

  • Filtrer les requêtes de parcours de visite
  • Joindre un flux de clics avec un fichier

Prerequisites

Filtrer les requêtes de parcours de visite

Dans cet exemple, vous allez apprendre à extraire des requêtes GET et POST à partir d’un flux de navigation de site web et à stocker les résultats obtenus dans un stockage Blob Azure. Voici l’architecture de cet exemple : Clickstream une entrée

Exemple d’un flux de clics de site web :

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

Nous allons utiliser les scripts disponibles dans le référentiel GitHub pour déployer nos ressources requises :

  1. Ouvrez PowerShell à partir du menu Démarrer, clonez ce dépôt GitHub dans votre répertoire de travail.

    git clone https://github.com/Azure/azure-stream-analytics.git
    
  2. Accédez au dossier BuildApplications .

    cd .\azure-stream-analytics\BuildApplications\
    
  3. Connectez-vous à Azure et entrez vos informations d’identification Azure dans le navigateur contextuel.

    Connect-AzAccount
    
  4. Remplacez $subscriptionId par votre ID d’abonnement Azure et exécutez la commande suivante pour déployer des ressources Azure. Ce processus peut prendre quelques minutes.

    .\CreateJob.ps1 -job ClickStream-Filter -eventsPerMinute 11 -subscriptionid $subscriptionId
    
    • eventsPerMinute est le taux d’entrée pour les données générées. Dans ce cas, la source d’entrée génère 11 événements par minute.
    • Vous trouverez votre ID d’abonnement dans les abonnements du portail > Azure.
  5. Une fois le déploiement terminé, il ouvre automatiquement votre navigateur et vous pouvez voir un groupe de ressources nommé ClickStream-Filter-rg-* dans le portail Azure. Le groupe de ressources contient les cinq ressources suivantes :

    Type de ressource Nom Descriptif
    Fonction Azure flux de clics (clickstream) Générer des données de flux de clic
    Event Hubs flux de clics (clickstream) Ingérer des données de parcours de visite pour les consommer
    Tâche Stream Analytics ClickStream-Filter Définir une requête pour extraire des requêtes GET à partir de l’entrée de parcours de visite
    Stockage Blob flux de clics (clickstream) Destination de sortie pour la tâche ASA
    Plan de Service d'Application flux de clics (clickstream) Une nécessité pour Azure Function
  6. Félicitation! Vous avez déployé une application de diffusion en continu pour extraire des requêtes d'un flux de clics d'un site web.

  7. Le travail ASA ClickStream-Filter utilise la requête suivante pour extraire les requêtes HTTP à partir du flux de clic. Sélectionnez Tester la requête dans l’éditeur de requête pour afficher un aperçu des résultats de sortie.

    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'
    

    Requête de test

  8. Il existe des exemples de codes dans les commentaires de requête que vous pouvez utiliser pour d’autres scénarios d’analyse de flux avec une entrée de flux.

    • Compter les clics pour chaque heure

      select System.Timestamp as Systime, count( * )
      FROM clickstream
      TIMESTAMP BY EventTime
      GROUP BY TumblingWindow(hour, 1)
      
    • Sélectionner un utilisateur distinct

      SELECT *
      FROM clickstream
      TIMESTAMP BY Time
      WHERE ISFIRST(hour, 1) OVER(PARTITION BY userId) = 1
      
  9. Tous les résultats de sortie sont stockés en tant que fichier JSON dans le stockage du blog. Ces résultats sont accessibles via : Stockage Blob> Conteneurs > job-output. Blob Storage

Clickstream-RefJoin

Si vous souhaitez connaître le nom d’utilisateur du flux de clics à l’aide d’un fichier utilisateur dans le stockage, vous pouvez joindre le flux de clics avec une entrée de référence selon l'architecture suivante : Clickstream avec deux entrées

Supposons que vous avez effectué les étapes de l’exemple précédent, exécutez les commandes suivantes pour créer un groupe de ressources :

  1. Remplacez $subscriptionId par votre ID d’abonnement Azure et exécutez la commande suivante pour déployer des ressources Azure. Ce processus peut prendre quelques minutes.

    .\CreateJob.ps1 -job ClickStream-RefJoin -eventsPerMinute 11 -subscriptionid $subscriptionId
    
  2. Une fois le déploiement terminé, il ouvre automatiquement votre navigateur et vous pouvez voir un groupe de ressources nommé ClickStream-RefJoin-rg-* dans le portail Azure. Le groupe de ressources contient cinq ressources.

  3. La tâche ASA ClickStream-RefJoin utilise la requête suivante pour joindre le flux de clics avec des données de référence 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. Félicitation! Vous avez déployé une application de diffusion en continu pour intégrer votre fichier utilisateur à un flux de clics sur le site web.

Nettoyer les ressources

Si vous avez essayé ce projet et n’avez plus besoin du groupe de ressources, exécutez cette commande sur PowerShell pour supprimer le groupe de ressources.

Remove-AzResourceGroup -Name $resourceGroup

Si vous envisagez d’utiliser ce projet à l’avenir, vous pouvez ignorer sa suppression et arrêter le travail pour l’instant.

Étapes suivantes

Pour en savoir plus sur Azure Stream Analytics, passez aux articles suivants :