Azure Data Lake Analytics를 사용하여 웹 사이트 로그 분석Analyze Website logs using Azure Data Lake Analytics

데이터 레이크 분석을 사용하여 웹 사이트 로그를 분석하는 방법, 특히 웹 사이트를 방문하려고 할 때 참조 페이지에 오류가 발생한 경우에 대해 알아봅니다.Learn how to analyze website logs using Data Lake Analytics, especially on finding out which referrers ran into errors when they tried to visit the website.

사전 요구 사항Prerequisites

Azure에 연결Connect to Azure

모든 U-SQL 스크립트를 빌드하거나 테스트하기 전에 먼저 Azure에 연결해야 합니다.Before you can build and test any U-SQL scripts, you must first connect to Azure.

데이터 레이크 분석에 연결하려면To connect to Data Lake Analytics

  1. Visual Studio를 엽니다.Open Visual Studio.
  2. Data Lake > 옵션 및 설정을 클릭합니다.Click Data Lake > Options and Settings.
  3. 로그인 또는 사용자 변경을 클릭하거나, 특정 사용자가 로그인한 경우 다음 지침을 따르십시오.Click Sign In, or Change User if someone has signed in, and follow the instructions.
  4. 확인 을 클릭하여 해당 옵션 및 설정 대화 상자를 닫습니다.Click OK to close the Options and Settings dialog.

데이터 레이크 분석 계정 찾아보기To browse your Data Lake Analytics accounts

  1. Visual Studio에서 CTRL+ALT+S를 눌러 서버 탐색기를 엽니다.From Visual Studio, open Server Explorer by press CTRL+ALT+S.
  2. 서버 탐색기에서 Azure를 확장한 후 Data Lake Analytics을 확장합니다.From Server Explorer, expand Azure, and then expand Data Lake Analytics. 계정이 있을 경우 해당 데이터 레이크 분석 계정 목록이 표시됩니다.You shall see a list of your Data Lake Analytics accounts if there are any. Studio에서 데이터 레이크 분석 계정을 만들 수 없습니다.You cannot create Data Lake Analytics accounts from the studio. 계정을 만들려면 Azure Portal을 사용 하 여 Azure Data Lake Analytics 시작 또는 Azure PowerShell를 사용 하 여 Azure Data Lake Analytics 시작을 참조 하세요.To create an account, see Get Started with Azure Data Lake Analytics using Azure Portal or Get Started with Azure Data Lake Analytics using Azure PowerShell.

U-SQL 애플리케이션 개발Develop U-SQL application

U-SQL 애플리케이션은 대부분 U-SQL 스크립트입니다.A U-SQL application is mostly a U-SQL script. U-SQL에 대한 자세한 내용은 U-SQL 시작을 참조하십시오.To learn more about U-SQL, see Get started with U-SQL.

해당 애플리케이션에 더하기 사용자 정의 연산자를 추가할 수 있습니다.You can add addition user-defined operators to the application. 자세한 내용은 데이터 레이크 분석 작업을 위한 U-SQL 사용자 정의 연산자 개발을 참조하십시오.For more information, see Develop U-SQL user defined operators for Data Lake Analytics jobs.

데이터 레이크 분석 작업 만들기 및 제출하기To create and submit a Data Lake Analytics job

  1. 파일 > 새로 만들기 > 프로젝트를 클릭합니다.Click the File > New > Project.

  2. U-SQL 프로젝트 형식을 선택합니다.Select the U-SQL Project type.

    새 U-SQL Visual Studio 프로젝트

  3. 확인을 클릭합니다.Click OK. Visual studio는 Script.usql 파일로 솔루션을 만듭니다.Visual studio creates a solution with a Script.usql file.

  4. Script.usql 파일에 다음 스크립트를 입력합니다.Enter the following script into the Script.usql file:

    // 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 언어 시작을 참조하세요.To understand the U-SQL, see Get started with Data Lake Analytics U-SQL language.

  5. 새 U SQL 스크립트를 프로젝트에 추가하고 다음을 입력합니다.Add a new U-SQL script to your project and enter the following:

    // 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 스크립트로 다시 전환하고 제출 단추 옆에 해당 분석 계정을 지정합니다.Switch back to the first U-SQL script and next to the Submit button, specify your Analytics account.

  7. 솔루션 탐색기에서 Script.usql을 마우스 오른쪽 클릭하고 빌드 스크립트를 클릭합니다.From Solution Explorer, right click Script.usql, and then click Build Script. 출력 창에서 결과를 확인합니다.Verify the results in the Output pane.

  8. 솔루션 탐색기에서 Script.usql을 마우스 오른쪽 단추로 클릭하고 스크립트 제출을 클릭합니다.From Solution Explorer, right click Script.usql, and then click Submit Script.

  9. 분석 계정이 실행하려는 작업에 있는지 확인하고 제출을 클릭합니다.Verify the Analytics Account is the one where you want to run the job, and then click Submit. 제출이 완료되면 Visual Studio용 데이터 레이크 도구 결과 창에서 제출 결과 및 작업 링크를 사용할 수 있습니다.Submission results and job link are available in the Data Lake Tools for Visual Studio Results window when the submission is completed.

  10. 작업이 성공적으로 완료될 때까지 기다립니다.Wait until the job is completed successfully. 작업이 실패한 경우 대부분 원본 파일이 손실되었을 가능성이 큽니다.If the job failed, it is most likely missing the source file. 이 자습서의 필수 조건 섹션을 참조하십시오.Please see the Prerequisite section of this tutorial. 추가적인 문제 해결 정보는 Azure 데이터 레이크 분석 작업 모니터링 및 문제 해결을 참조하세요.For additional troubleshooting information, see Monitor and troubleshoot Azure Data Lake Analytics jobs.

    해당 작업이 완료되면 다음 화면이 표시됩니다.When the job is completed, you shall see the following screen:

    데이터 레이크 분석은 웹 로그와 웹 사이트 로그를 분석합니다.

  11. Script1.usql에 대해 7-10단계를 반복합니다.Now repeat steps 7- 10 for Script1.usql.

작업 출력 보기To see the job output

  1. 서버 탐색기에서 Azure, Data Lake Analytics, Data Lake Analytics 계정, Storage 계정을 차례로 확장하고 기본 Data Lake Storage 계정을 마우스 오른쪽 단추로 클릭한 다음 탐색기를 클릭합니다.From Server Explorer, expand Azure, expand Data Lake Analytics, expand your Data Lake Analytics account, expand Storage Accounts, right-click the default Data Lake Storage account, and then click Explorer.
  2. 샘플을 두 번 클릭하여 해당 폴더를 연 다음 출력을 두 번 클릭합니다.Double-click Samples to open the folder, and then double-click Outputs.
  3. UnsuccessfulResponses.log를 두 번 클릭합니다.Double-click UnsuccessfulResponses.log.
  4. 출력 작업을 직접 탐색하기 위해 해당 작업의 그래프 뷰 내부에 있는 출력 파일을 두 번 클릭할 수도 있습니다.You can also double-click the output file inside the graph view of the job in order to navigate directly to the output.

다음 단계Next steps

다른 도구를 사용하여 데이터 레이크 분석을 시작하려면 다음을 참조하십시오.To get started with Data Lake Analytics using different tools, see: