Анализ журналов веб-сайта с помощью Azure Data Lake Analytics

Сведения об анализе журналов веб-сайтов с помощью службы аналитики озера, а также информация об источниках ссылок, которые столкнулись с ошибками во время попытки посетить веб-сайт.

Важно!

Azure Data Lake Analytics прекращена 29 февраля 2024 г. Дополнительные сведения см. в этом объявлении.

Для аналитики данных ваша организация может использовать Azure Synapse Analytics или Microsoft Fabric.

Предварительные требования

Подключение к Azure

Прежде чем можно будет скомпилировать и протестировать любой сценарий U-SQL, необходимо сначала подключиться к Azure.

Подключение к аналитике озера данных

  1. Запустите Visual Studio.
  2. Выберите Параметры и параметры Data Lake>.
  3. Выберите Войти или Изменить пользователя , если кто-то выполнил вход, и следуйте инструкциям.
  4. Нажмите кнопку ОК , чтобы закрыть диалоговое окно Параметры и параметры.

Просмотр учетных записей аналитики озера данных

  1. В Visual Studio откройте обозреватель серверов, нажав клавиши CTRL + ALT + S.
  2. В обозревателе серверов разверните Azure, а затем — Data Lake Analytics. Будет выведен список учетных записей аналитики озера данных, если они есть. Вы не можете создать Data Lake Analytics учетные записи из студии. Сведения о создании учетной записи см. в разделах Начало работы с Azure Data Lake Analytics с помощью портал Azure или Начало работы с Azure Data Lake Analytics с помощью Azure PowerShell.

Разработка приложения U-SQL

Приложение U-SQL представляет собой главным образом сценарий U-SQL. Дополнительные сведения о языке U-SQL см. в статье Приступая к работе с U-SQL.

Вы можете добавить в приложение пользовательские операторы сложения. Дополнительные сведения см. в статье Разработка пользовательских операторов U-SQL для заданий аналитики озера данных.

Создание и отправка задания аналитики озера данных

  1. Выберите файл > Новый > проект.

  2. Выберите тип «Проект U-SQL».

    Новый проект U-SQL в Visual Studio

  3. Щелкните ОК. Visual Studio создает решение с помощью файла Script.usql.

  4. Скопируйте следующий сценарий в файл Script.usql.

    // Create a database for easy reuse, so you don't need to read from a file very time.
    CREATE DATABASE IF NOT EXISTS SampleDBTutorials;
    
    // Create a Table valued function. TVF ensures that your jobs fetch data from he weblog file with the correct schema.
    DROP FUNCTION IF EXISTS SampleDBTutorials.dbo.WeblogsView;
    CREATE FUNCTION SampleDBTutorials.dbo.WeblogsView()
    RETURNS @result TABLE
    (
        s_date DateTime,
        s_time string,
        s_sitename string,
        cs_method string,
        cs_uristem string,
        cs_uriquery string,
        s_port int,
        cs_username string,
        c_ip string,
        cs_useragent string,
        cs_cookie string,
        cs_referer string,
        cs_host string,
        sc_status int,
        sc_substatus int,
        sc_win32status int,
        sc_bytes int,
        cs_bytes int,
        s_timetaken int
    )
    AS
    BEGIN
    
        @result = EXTRACT
            s_date DateTime,
            s_time string,
            s_sitename string,
            cs_method string,
            cs_uristem string,
            cs_uriquery string,
            s_port int,
            cs_username string,
            c_ip string,
            cs_useragent string,
            cs_cookie string,
            cs_referer string,
            cs_host string,
            sc_status int,
            sc_substatus int,
            sc_win32status int,
            sc_bytes int,
            cs_bytes int,
            s_timetaken int
        FROM @"/Samples/Data/WebLog.log"
        USING Extractors.Text(delimiter:' ');
        RETURN;
    END;
    
    // Create a table for storing referrers and status
    DROP TABLE IF EXISTS SampleDBTutorials.dbo.ReferrersPerDay;
    @weblog = SampleDBTutorials.dbo.WeblogsView();
    CREATE TABLE SampleDBTutorials.dbo.ReferrersPerDay
    (
        INDEX idx1
        CLUSTERED(Year ASC)
        DISTRIBUTED BY HASH(Year)
    ) AS
    
    SELECT s_date.Year AS Year,
        s_date.Month AS Month,
        s_date.Day AS Day,
        cs_referer,
        sc_status,
        COUNT(DISTINCT c_ip) AS cnt
    FROM @weblog
    GROUP BY s_date,
            cs_referer,
            sc_status;
    

    Для знакомства с U-SQL см. статью Начало работы с языком U-SQL для аналитики озера данных Azure.

  5. Добавьте в проект новый скрипт U-SQL и введите следующую команду:

    // Query the referrers that ran into errors
    @content =
        SELECT *
        FROM SampleDBTutorials.dbo.ReferrersPerDay
        WHERE sc_status >=400 AND sc_status < 500;
    
    OUTPUT @content
    TO @"/Samples/Outputs/UnsuccessfulResponses.log"
    USING Outputters.Tsv();
    
  6. Вернитесь к первому скрипту U-SQL и рядом с кнопкой Отправить укажите свою учетную запись аналитики.

  7. В Обозреватель решений правой кнопкой мыши выберите Script.usql, а затем выберите Сборка скрипта. Проверьте результаты на панели вывода.

  8. В Обозреватель решений правой кнопкой мыши выберите Script.usql и выберите Отправить скрипт.

  9. Убедитесь, что для запуска задания используется учетная запись аналитики , а затем нажмите кнопку Отправить. Результаты отправки и ссылка на задание появятся в окне результатов средств озера данных для Visual Studio после завершения отправки.

  10. Дождитесь успешного завершения задания. Если задание завершилось сбоем, скорее всего, отсутствует исходный файл. См. раздел Предварительные требования этого руководства. Дополнительные сведения об устранении неполадок см. в статье Мониторинг и устранение неполадок заданий Azure Data Lake Analytics.

    После выполнения задания вы должны увидеть такие результаты:

    аналитика озера данных анализ веб-журналов журналы веб-сайтов

  11. Теперь повторите шаги 7–10 для файла Script1.usql.

Просмотр выходных данных задания

  1. В Обозреватель сервера разверните Azure, Data Lake Analytics, свою учетную запись Data Lake Analytics, учетные записи хранения, щелкните правой кнопкой мыши учетную запись Data Lake Storage по умолчанию и выберите пункт Обозреватель.
  2. Дважды щелкните Образцы, чтобы открыть папку с примерами, и дважды щелкните Выходные данные.
  3. Дважды щелкните файл UnsuccessfulResponses.log.
  4. Кроме того, вы можете дважды щелкнуть выходной файл в графическом представлении задания для перехода непосредственно к выходным данным.

Дальнейшие действия

Для начала работы с аналитикой озера данных с использованием различных средств см. следующие статьи.