Azure Data Lake Analytics を使用する Web サイト ログの分析
Data Lake Analytics を使用して Web サイトのログを分析する方法について、特に、Web サイトへのアクセスを試みたときにエラーが発生した参照元の特定に重点を置いて説明します。
重要
Azure Data Lake Analyticsは、2024 年 2 月 29 日に廃止されました。 詳細については、このお知らせを参照してください。
データ分析の場合、organizationは Azure Synapse Analytics または Microsoft Fabric を使用できます。
前提条件
Visual Studio 2013 または Visual Studio 2015
Data Lake Tools for Visual Studio 。
Data Lake Tools for Visual Studio がインストールされると、Visual Studio の [ツール] メニューに Data Lake 項目が表示されます。
Data Lake Analytics と Data Lake Tools for Visual Studio の基本的な知識。 作業を開始するには、次のトピックをご覧ください。
Data Lake Analytics アカウント。 Azure Data Lake Analytics アカウントの作成に関するセクションを参照してください。
サンプル データをインストールします。 Azure portalで、Data Lake Analytics アカウントを開き、左側のメニューで [サンプル スクリプト] を選択し、[サンプル データのコピー] を選択します。
Azure に接続する
U-SQL スクリプトをビルドしてテストするには、Azure に接続しておく必要があります。
Data Lake Analytics に接続するには
- Visual Studio を開きます。
- [ Data Lake > のオプションと設定] を選択します。
- [サインイン] を選択するか、他のユーザーがサインインしている場合は [ユーザーの変更] を選択し、指示に従います。
- [ OK] を選択 して[オプションと設定] ダイアログを閉じます。
Data Lake Analytics アカウントを参照するには
- Visual Studio で、Ctrl + Alt + S キーを押して、サーバー エクスプローラーを開きます。
- サーバー エクスプローラーで、 [Azure] 、 [Data Lake Analytics] の順に展開します。 Data Lake Analytics アカウントが複数ある場合は、そのリストが表示されます。 スタジオからData Lake Analyticsアカウントを作成することはできません。 アカウントを作成するには、「Azure portalを使用した Azure Data Lake Analyticsの概要」または「Azure PowerShellを使用した Azure Data Lake Analyticsの概要」を参照してください。
U-SQL アプリケーションの作成
U SQL アプリケーションの大部分は、U-SQL スクリプトです。 U-SQL の詳細については、 U-SQL の使用に関するページを参照してください。
アプリケーションにはユーザー定義演算子を追加できます。 詳細については、「 Data Lake Analytics ジョブの U-SQL ユーザー定義演算子の開発」をご覧ください。
Data Lake Analytics ジョブを作成して送信するには
[ファイル] [新しい>プロジェクト] を>選択します。
プロジェクトの種類として、[U-SQL プロジェクト] を選択します。
[OK] を選択します。 Visual Studio で、Script.usql ファイルを使用してソリューションが作成されます。
次のスクリプトを 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 を理解するには、「 チュートリアル: Azure Data Lake Analytics U-SQL 言語の使用」をご覧ください。
新しい 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();
最初の U-SQL スクリプトに戻り、 [送信] ボタンの横に、Analytics アカウントを指定します。
ソリューション エクスプローラーから[Script.usql]\(スクリプト.usql\) を右クリックし、[Build Script]\(スクリプトのビルド\) を選択します。 [出力] ウィンドウで結果を確認します。
ソリューション エクスプローラーから Script.usql を右選択し、[スクリプトの送信] を選択します。
Analytics アカウントがジョブを実行するアカウントであることを確認し、[送信] を選択します。 送信が完了すると、Data Lake Tools for Visual Studio の [結果] ウィンドウに送信結果とジョブのリンクが示されます。
ジョブが正常に完了するまで待機します。 ジョブが失敗した場合、ソース ファイルが見つからない可能性が高くなります。 このチュートリアルの前提条件に関するセクションを参照してください。 トラブルシューティングの詳細については、「Azure Data Lake Analytics ジョブの監視とトラブルシューティング」を参照してください。
ジョブが完了すると、次の画面が表示されます。
次に、 Script1.usqlの手順 7 ~ 10 を繰り返します。
ジョブの出力を表示するには
- [サーバー エクスプローラー] で、[Azure] を展開し、[Data Lake Analytics] を展開し、Data Lake Analytics アカウントを展開し、[ストレージ アカウント] を展開し、既定のData Lake Storage アカウントを右クリックして、[エクスプローラー。
- [サンプル] をダブルクリックしてフォルダーを開き、 [出力] をダブルクリックします。
- UnsuccessfulResponses.log をダブルクリックします。
- ジョブのグラフ ビューで出力ファイルをダブルクリックして、出力ファイルに直接移動することもできます。
次のステップ
さまざまなツールを使用して Data Lake Analytics の使用を開始する方法については、以下をご覧ください。