Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Analyse von Clickstreamdaten ist eine effektive Möglichkeit für Unternehmen, den Websitedatenverkehr zu optimieren und Erkenntnisse über das Benutzerverhalten zu gewinnen. In dieser Schnellstartanleitung wird beschrieben, wie Sie eine Streaminganwendung zum Analysieren der Clickstreamdaten von Websites erstellen können.
In der in diesem Leitfaden beschriebenen Methode wird ein PowerShell-Skript zum Bereitstellen von Azure-Ressourcen mit automatisch generierten Beispieldatenströmen verwendet. Die automatisch generierten Daten ermöglichen die Untersuchung verschiedener Streamanalyseszenarien und helfen Ihnen, Azure-Ressourcen mühelos bereitzustellen.
Das sind die typischen Szenarien für die Verarbeitung und Analyse von Clickstreamdaten:
- Clickstreamanforderungen filtern
- Clickstream mit einer Datei verknüpfen
Voraussetzungen
- Azure-Abonnement. Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen.
- Installieren Sie Git.
- Azure PowerShell-Modul. Informationen zum Installieren oder Upgraden finden Sie hier.
Clickstreamanforderungen filtern
In diesem Beispiel erfahren Sie, wie Sie GET
- und POST
-Anforderungen aus einem Website-Clickstream extrahieren und die Ausgabeergebnisse in einem Azure Blob Storage speichern. Hier sehen Sie die Architektur für dieses Beispiel:
Beispiel für einen 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"
}
Wir verwenden die Skripts, die im GitHub-Repository verfügbar sind, um die erforderlichen Ressourcen bereitzustellen:
Öffnen Sie die PowerShell im Startmenü, und klonen Sie dieses GitHub-Repository in Ihr Arbeitsverzeichnis.
git clone https://github.com/Azure/azure-stream-analytics.git
Wechseln Sie zum Ordner BuildApplications.
cd .\azure-stream-analytics\BuildApplications\
Melden Sie sich bei Azure an, und geben Sie im Popupbrowserfenster Ihre Azure-Anmeldeinformationen ein.
Connect-AzAccount
Ersetzen Sie
$subscriptionId
durch Ihre Azure-Abonnement-ID, und führen Sie den folgenden Befehl aus, um Azure-Ressourcen bereitzustellen. Dieser Vorgang kann einige Minuten dauern..\CreateJob.ps1 -job ClickStream-Filter -eventsPerMinute 11 -subscriptionid $subscriptionId
-
eventsPerMinute
ist die Eingaberate für generierte Daten. In diesem Fall generiert die Eingabequelle 11 Ereignisse pro Minute. - Sie finden Ihre Abonnement-ID im Azure-Portal > Abonnements.
-
Sobald die Bereitstellung abgeschlossen ist, wird Ihr Browser automatisch geöffnet, und im Azure-Portal wird eine Ressourcengruppe namens ClickStream-Filter-rg-* angezeigt. Die Ressourcengruppe enthält die folgenden fünf Ressourcen:
Ressourcentyp Name BESCHREIBUNG Azure Function clickstream* Generieren von Clickstreamdaten Event Hubs clickstream* Erfassen von Clickstreamdaten für die Nutzung Stream Analytics-Auftrag ClickStream-Filter Definieren einer Abfrage zum Extrahieren von GET
-Anforderungen aus der ClickstreameingabeBlob Storage clickstream* Ausgabeziel für den ASA-Auftrag App Service-Plan clickstream* Eine Notwendigkeit für die Azure-Funktion Glückwunsch! Sie haben eine Streaminganwendung bereitgestellt, um Anforderungen aus einem Website-Clickstream zu extrahieren.
Der ClickStream-Filter des ASA-Auftrags verwendet die folgende Abfrage, um HTTP-Anforderungen aus dem Clickstream zu extrahieren. Wählen Sie im Abfrage-Editor Abfrage testen aus, um eine Vorschau der Ausgabeergebnisse anzuzeigen.
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'
Es gibt Beispielcodes in den Abfragekommentaren, die Sie für andere Streamanalyseszenarien mit einer Streameingabe verwenden können.
Zählen von Klicks für jede Stunde
select System.Timestamp as Systime, count( * ) FROM clickstream TIMESTAMP BY EventTime GROUP BY TumblingWindow(hour, 1)
Auswählen unterschiedlicher Benutzer
SELECT * FROM clickstream TIMESTAMP BY Time WHERE ISFIRST(hour, 1) OVER(PARTITION BY userId) = 1
Alle Ausgabeergebnisse werden als
JSON
-Datei im Blob Storage gespeichert. Sie finden sie über: Blob Storage > Container > job-output (Auftragsausgabe).
Clickstream-RefJoin
Wenn Sie den Benutzernamen für den Clickstream mithilfe einer Benutzerdatei im Speicher ermitteln möchten, können Sie den Clickstream mit einer Verweiseingabe als folgende Architektur verknüpfen:
Angenommen, Sie haben die Schritte für das vorherige Beispiel abgeschlossen, dann führen Sie die folgenden Befehle aus, um eine neue Ressourcengruppe zu erstellen:
Ersetzen Sie
$subscriptionId
durch Ihre Azure-Abonnement-ID, und führen Sie den folgenden Befehl aus, um Azure-Ressourcen bereitzustellen. Dieser Vorgang kann einige Minuten dauern..\CreateJob.ps1 -job ClickStream-RefJoin -eventsPerMinute 11 -subscriptionid $subscriptionId
Sobald die Bereitstellung abgeschlossen ist, wird Ihr Browser automatisch geöffnet, und im Azure-Portal wird eine Ressourcengruppe namens ClickStream-RefJoin-rg-* angezeigt. Die Ressourcengruppe enthält fünf Ressourcen.
Die ClickStream-RefJoin des ASA-Auftrags verwendet die folgende Abfrage, um den Clickstream mit der SQL-Verweiseingabe zu verknüpfen.
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
Glückwunsch! Sie haben eine Streaminganwendung bereitgestellt, um Ihre Benutzerdatei mit einem Website-Clickstream zu verknüpfen.
Bereinigen von Ressourcen
Wenn Sie dieses Projekt ausprobiert haben und die Ressourcengruppe nicht mehr benötigen, führen Sie diesen Befehl in PowerShell aus, um die Ressourcengruppe zu löschen.
Remove-AzResourceGroup -Name $resourceGroup
Wenn Sie dieses Projekt in Zukunft noch verwenden möchten, können Sie den Löschvorgang überspringen und den Auftrag vorerst beenden.
Nächste Schritte
Informationen zu Azure Stream Analytics finden Sie in den folgenden Artikeln: