Analisar registos de sites com o Azure Data Lake Analytics

Saiba como analisar os registos de sites através de Data Lake Analytics, especialmente ao descobrir quais os referenciadores que detetam erros quando tentaram visitar o site.

Importante

O Azure Data Lake Analytics descontinuado a 29 de fevereiro de 2024. Saiba mais com este anúncio.

Para análise de dados, a sua organização pode utilizar o Azure Synapse Analytics ou o Microsoft Fabric.

Pré-requisitos

Ligar ao Azure

Antes de poder criar e testar quaisquer scripts U-SQL, primeiro tem de se ligar ao Azure.

Para ligar ao Data Lake Analytics

  1. Abra o Visual Studio.
  2. Selecione Opções e Definições do Data Lake>.
  3. Selecione Iniciar Sessão ou Alterar Utilizador se alguém tiver iniciado sessão e siga as instruções.
  4. Selecione OK para fechar a caixa de diálogo Opções e Definições.

Para navegar nas suas contas de Data Lake Analytics

  1. No Visual Studio, abra o Explorador de Servidores ao premir Ctrl+Alt+S.
  2. No Explorador de Servidores, expanda Azure e, em seguida, expanda Data Lake Analytics. Deve ver uma lista das suas contas do Data Lake Analytics, caso existam. Não pode criar contas Data Lake Analytics a partir do estúdio. Para criar uma conta, veja Introdução ao Azure Data Lake Analytics com portal do Azure ou Introdução ao Azure Data Lake Analytics com Azure PowerShell.

Desenvolver aplicação U-SQL

Uma aplicação U-SQL é principalmente um script U-SQL. Para saber mais sobre o U-SQL, veja Introdução ao U-SQL.

Pode adicionar operadores definidos pelo utilizador à aplicação. Para obter mais informações, veja Desenvolver operadores definidos pelo utilizador U-SQL para Data Lake Analytics tarefas.

Para criar e submeter tarefas de Data Lake Analytics

  1. Selecione o Novo > Projeto de Ficheiro>.

  2. Selecione o tipo Projeto U-SQL .

    novo projeto Visual Studio em U-SQL

  3. Selecione OK. O Visual Studio cria uma solução com um ficheiro Script.usql.

  4. Introduza o seguinte script no ficheiro 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;
    

    Para compreender o U-SQL, veja Introdução ao Data Lake Analytics linguagem U-SQL.

  5. Adicione um novo script U-SQL ao projeto e introduza o seguinte:

    // 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. Regresse ao primeiro script U-SQL e, junto ao botão Submeter , especifique a sua conta de Análise.

  7. Em Explorador de Soluções, selecione Script.usql à direita e, em seguida, selecione Criar Script. Verifique os resultados no painel Saída.

  8. Em Explorador de Soluções, selecione Script.usql à direita e, em seguida, selecione Submeter Script.

  9. Verifique se a Conta de Análise é aquela em que pretende executar a tarefa e, em seguida, selecione Submeter. Os resultados da submissão e a ligação da tarefa ficam disponíveis na janela de Resultados das Ferramentas do Data Lake para Visual Studio quando a submissão estiver concluída.

  10. Aguarde até que a tarefa seja concluída com êxito. Se a tarefa tiver falhado, provavelmente falta o ficheiro de origem. Veja a secção Pré-requisitos deste tutorial. Para obter mais informações de resolução de problemas, veja Monitorizar e resolver problemas de tarefas do Azure Data Lake Analytics.

    Quando a tarefa estiver concluída, verá o seguinte ecrã:

    data lake analytics analyze weblogs website logs (Analisar registos de sites de weblogs)

  11. Agora, repita os passos 7 a 10 para Script1.usql.

Para ver o resultado da tarefa

  1. No Explorador de Servidores, expanda Azure, expanda Data Lake Analytics, expanda a sua conta de Data Lake Analytics, expanda Contas de Armazenamento, clique com o botão direito do rato na conta de Data Lake Storage predefinida e, em seguida, selecione Explorador.
  2. Faça duplo clique em Exemplos para abrir a pasta e, em seguida, faça duplo clique em Saídas.
  3. Faça duplo clique UnsuccessfulResponses.log.
  4. Também pode fazer duplo clique no ficheiro de saída dentro da vista de gráfico da tarefa para navegar diretamente para a saída.

Passos seguintes

Para iniciar o Data Lake Analytics com ferramentas diferentes, veja: