Azure Data Lake Analytics を使用する Web サイト ログの分析Analyze Website logs using Azure Data Lake Analytics

Data Lake Analytics を使用して Web サイトのログを分析する方法について、特に、Web サイトへのアクセスを試みたときにエラーが発生した参照元の特定に重点を置いて説明します。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.

Data Lake Analytics に接続するには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. [OK] をクリックして、[オプションと設定] ダイアログを閉じます。Click OK to close the Options and Settings dialog.

Data Lake Analytics アカウントを参照するには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. Data Lake Analytics アカウントが複数ある場合は、そのリストが表示されます。You shall see a list of your Data Lake Analytics accounts if there are any. Studio で Data Lake Analytics アカウントを作成することはできません。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. 詳細については、「 Data Lake Analytics ジョブの U-SQL ユーザー定義演算子の開発」をご覧ください。For more information, see Develop U-SQL user defined operators for Data Lake Analytics jobs.

Data Lake Analytics ジョブを作成して送信するには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.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 every time.
     CREATE DATABASE IF NOT EXISTS SampleDBTutorials;
    
     // Create a Table valued function. TVF ensures that your jobs fetch data from the 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 を理解するには、「 チュートリアル: Azure Data Lake Analytics 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 スクリプトに戻り、 [送信] ボタンの横に、Analytics アカウントを指定します。Switch back to the first U-SQL script and next to the Submit button, specify your Analytics account.
  7. ソリューション エクスプローラーScript.usql を右クリックし、[Build Script (スクリプトのビルド)] をクリックします。From Solution Explorer, right click Script.usql, and then click Build Script. [出力] ウィンドウで結果を確認します。Verify the results in the Output pane.
  8. ソリューション エクスプローラーScript.usql を右クリックし、[Submit Script (スクリプトの送信)] をクリックします。From Solution Explorer, right click Script.usql, and then click Submit Script.
  9. [Analytics Account (Analytics アカウント)] にジョブを実行するアカウントが設定されていることを確認し、[送信] をクリックします。Verify the Analytics Account is the one where you want to run the job, and then click Submit. 送信が完了すると、Data Lake Tools for 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 Data Lake Analytics ジョブの監視とトラブルシューティングに関するページをご覧ください。For additional troubleshooting information, see Monitor and troubleshoot Azure Data Lake Analytics jobs.

    ジョブが完了すると、次の画面が表示されます。When the job is completed, you shall see the following screen:

    Data Lake Analytics による Web サイトのログ (weblogs) の分析

  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 アカウント、[ストレージ アカウント] の順に展開し、既定の 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. UnsuccessfulResponsees.logをダブルクリックします。Double-click UnsuccessfulResponsees.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.

関連項目See also

さまざまなツールを使用して Data Lake Analytics の使用を開始する方法については、以下をご覧ください。To get started with Data Lake Analytics using different tools, see: