Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Анализ данных clickstream — это эффективный способ оптимизации трафика веб-сайта и получения аналитических сведений о поведении пользователей. В этом кратком руководстве описано, как создать потоковое приложение для анализа данных о кликах пользователей на веб-сайте.
Метод, описанный в этом руководстве, использует скрипт PowerShell для развертывания ресурсов Azure с автоматически созданными примерами потоков данных. Автоматически созданные данные позволяют изучать различные сценарии потоковой аналитики и легко развертывать ресурсы Azure.
Ниже приведены типичные сценарии обработки и анализа щелчков.
- Фильтрация запросов потока кликов
- Присоединение кликстрима к файлу
Предпосылки
- Подписка Azure. Если у вас нет подписки Azure, создайте бесплатную учетную запись.
- Установка Git.
- Модуль Azure PowerShell. Посетите здесь, чтобы установить или обновить.
Фильтрация запросов потока кликов
В этом примере вы узнаете, как извлекать запросы GET и POST из потока кликов веб-сайта и сохранять результаты в хранилище Azure Blob Storage. Ниже приведена архитектура для этого примера: 
Пример потока кликов на веб-сайте:
{
"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"
}
Мы будем использовать скрипты, доступные в репозитории GitHub для развертывания необходимых ресурсов:
Откройте PowerShell из меню "Пуск", клонируйте этот репозиторий GitHub в рабочий каталог.
git clone https://github.com/Azure/azure-stream-analytics.gitПерейдите в папку BuildApplications .
cd .\azure-stream-analytics\BuildApplications\Войдите в Azure и введите учетные данные Azure в всплывающем браузере.
Connect-AzAccountЗамените
$subscriptionIdидентификатор подписки Azure и выполните следующую команду для развертывания ресурсов Azure. Выполнение этого процесса может занять несколько минут..\CreateJob.ps1 -job ClickStream-Filter -eventsPerMinute 11 -subscriptionid $subscriptionId-
eventsPerMinute— это скорость ввода для созданных данных. В этом случае источник ввода создает 11 событий в минуту. - Идентификатор подписки можно найти в подписках на портале > Azure.
-
После завершения развертывания откроется браузер автоматически, и вы можете увидеть группу ресурсов с именем ClickStream-Filter-rg-* на портале Azure. Группа ресурсов содержит следующие пять ресурсов:
Тип ресурса Имя Description Функция Azure кликстрим (поток кликов) Генерация данных кликстрим Event Hubs кликстрим (поток кликов) Прием данных clickstream для использования Задание Stream Analytics ClickStream-Фильтр Определение запроса для извлечения GETзапросов из входных данных clickstreamХранилище блобов кликстрим (поток кликов) Место назначения для выходных данных задания ASA План службы приложений кликстрим (поток кликов) Необходимость в функции Azure Поздравление! Вы развернули приложение потоковой передачи для извлечения запросов из потока щелчков веб-сайта.
Задание ASA ClickStream-Filter использует следующий запрос для извлечения HTTP-запросов из потока щелчков. Выберите тестовый запрос в редакторе запросов, чтобы просмотреть выходные результаты.
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'
В комментариях запроса есть примеры кодов, которые можно использовать для других сценариев stream analytics с одним входным потоком.
Подсчет щелчков по каждому часу
select System.Timestamp as Systime, count( * ) FROM clickstream TIMESTAMP BY EventTime GROUP BY TumblingWindow(hour, 1)Выбор отдельного пользователя
SELECT * FROM clickstream TIMESTAMP BY Time WHERE ISFIRST(hour, 1) OVER(PARTITION BY userId) = 1
Все выходные результаты хранятся в хранилище блогов в виде
JSONфайла. Его можно найти через: хранилище BLOB-объектов > контейнеры > выходные данные заданий.
Clickstream-RefJoin
Если вы хотите узнать имя пользователя для анализа кликов, используя файл пользователя в хранилище, вы можете присоединить анализ кликов к ссылочному входу по следующей архитектуре: 
Предположим, что вы выполнили действия, описанные в предыдущем примере, выполните следующие команды, чтобы создать новую группу ресурсов:
Замените
$subscriptionIdидентификатор подписки Azure и выполните следующую команду для развертывания ресурсов Azure. Выполнение этого процесса может занять несколько минут..\CreateJob.ps1 -job ClickStream-RefJoin -eventsPerMinute 11 -subscriptionid $subscriptionIdПосле завершения развертывания браузер откроется автоматически, и вы можете увидеть группу ресурсов с именем ClickStream-RefJoin-rg-* на портале Azure. Группа ресурсов содержит пять ресурсов.
Задание ASA ClickStream-RefJoin использует следующий запрос для объединения потока щелчков с эталонным 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Поздравление! Вы развернули потоковое приложение, чтобы соединить файл пользователя с потоком кликов веб-сайта.
Очистите ресурсы
Если вы пробовали этот проект и больше не нуждались в группе ресурсов, выполните эту команду в PowerShell, чтобы удалить группу ресурсов.
Remove-AzResourceGroup -Name $resourceGroup
Если вы планируете использовать этот проект в будущем, вы можете не удалять его и пока остановить задачу.
Дальнейшие шаги
Чтобы узнать о Azure Stream Analytics, перейдите к следующим статьям: