Поделиться через


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

Узнайте, как анализировать журналы веб-сайтов с помощью Data Lake Analytics, особенно для выявления рефереров, которые столкнулись с ошибками при попытке посетить веб-сайт.

Это важно

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

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

Предпосылки

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

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

Подключение к Data Lake Analytics

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

Для просмотра учетных записей Data Lake Analytics

  1. В Visual Studio откройте обозреватель серверов , нажав клавиши CTRL+ALT+S.
  2. В Обозревателе серверов разверните Azure и затем разверните Data Lake Analytics. Вы увидите список учетных записей 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 для заданий Data Lake Analytics".

Чтобы создать и отправить задание в Data Lake Analytics

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

  2. Выберите тип проекта U-SQL.

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

  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 Data Lake Analytics".

  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. Убедитесь, что учетная запись аналитики — это тот, где вы хотите запустить задание, а затем нажмите кнопку "Отправить". Результаты выполнения и ссылка на задание становятся доступны в окне результатов Data Lake Tools для 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. Вы также можете дважды щелкнуть выходной файл в представлении графа задания, чтобы перейти непосредственно к выходным данным.

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

Чтобы начать работу с Data Lake Analytics используя различные инструменты, см. ниже: