Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Анализ данных clickstream — это эффективный способ оптимизации трафика веб-сайтов и получения аналитических сведений о поведении пользователей. В этом кратком руководстве показано, как создать приложение потоковой передачи для анализа данных clickstream веб-сайта.
Метод, описанный в этом руководстве, использует скрипт PowerShell для развертывания ресурсов Azure с автоматически созданными примерами потоков данных. Автоматически созданные данные позволяют исследовать различные сценарии stream analytics и помогают легко развертывать ресурсы Azure.
Ниже приведены типичные сценарии обработки и анализа clickstream.
- Фильтрация запросов clickstream
- Соединение clickstream с файлом
Предварительные требования
- Подписка Azure. Если у вас еще нет подписки Azure, создайте бесплатную учетную запись.
- Установите Git.
- модуль Azure PowerShell. Чтобы установить или обновить его, посетите здесь.
Фильтрация запросов clickstream
В этом примере вы узнаете, как извлекать GET
и POST
запрашивать из веб-сайта clickstream и сохранять выходные результаты в Хранилище BLOB-объектов Azure. Ниже приведена архитектура для этого примера:
Пример потока переходов на веб-сайт:
{
"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. Группа ресурсов содержит следующие пять ресурсов:
Тип ресурса Имя Описание функции Azure; Ссылкам* Создание данных о потоках переходов Центры событий Ссылкам* Прием данных clickstream для использования Задание Stream Analytics ClickStream-Filter Определение запроса для извлечения GET
запросов из входных данных clickstreamХранилище BLOB-объектов Ссылкам* Назначение выходных данных для задания ASA План службы приложений Ссылкам* Необходимость в функции Azure Поздравляем! Вы развернули приложение потоковой передачи для извлечения запросов из веб-сайта clickstream.
Задание ASA ClickStream-Filter использует следующий запрос для извлечения HTTP-запросов из clickstream. Выберите Тестировать запрос в редакторе запросов, чтобы просмотреть выходные результаты.
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-объектов > : job-output.
Clickstream-RefJoin
Если вы хотите узнать имя пользователя для clickstream с помощью файла пользователя в хранилище, вы можете присоединиться к clickstream с помощью ссылочных входных данных, как показано ниже:
Предположим, что вы выполнили действия, описанные в предыдущем примере, выполните следующие команды, чтобы создать новую группу ресурсов:
Замените
$subscriptionId
идентификатором подписки Azure и выполните следующую команду, чтобы развернуть ресурсы Azure. Этот процесс может занять несколько минут..\CreateJob.ps1 -job ClickStream-RefJoin -eventsPerMinute 11 -subscriptionid $subscriptionId
После завершения развертывания браузер откроется автоматически, и вы увидите группу ресурсов с именем ClickStream-RefJoin-rg-* в портал Azure. Группа ресурсов содержит пять ресурсов.
Задание ASA ClickStream-RefJoin использует следующий запрос для соединения clickstream с помощью ссылочных входных данных 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
Поздравляем! Вы развернули приложение потоковой передачи, чтобы присоединить файл пользователя к веб-сайту clickstream.
Очистка ресурсов
Если вы пробовали этот проект и группа ресурсов больше не нужна, выполните следующую команду в PowerShell, чтобы удалить группу ресурсов.
Remove-AzResourceGroup -Name $resourceGroup
Если вы планируете использовать этот проект в будущем, вы можете пропустить его удаление и остановить задание на данный момент.
Дальнейшие действия
Чтобы узнать об Azure Stream Analytics, перейдите к следующим статьям: