使用 Azure Data Lake Analytics 來分析網站記錄

了解如何使用資料湖分析來分析網站記錄,特別是找出哪些訪客來源在嘗試瀏覽網站時遇到錯誤。

重要

Azure Data Lake Analytics 於 2024 年 2 月 29 日淘汰。 使用此公告深入瞭解。

針對數據分析,您的組織可以使用 Azure Synapse AnalyticsMicrosoft Fabric

必要條件

連線到 Azure

您必須先連接至 Azure,然後才能建置及測試任何 U-SQL 指令碼。

連接到資料湖分析

  1. 開啟 Visual Studio。
  2. 選取 [Data Lake > 選項和設定]。
  3. 選取 [登入],如果有人登入,請 選取 [變更使用者 ],然後遵循指示。
  4. 選取 [確定 ] 以關閉 [選項和設定] 對話框。

瀏覽您的資料湖分析帳戶

  1. 從 Visual Studio 中,按 CTRL+ALT+S,開啟 [伺服器總管]
  2. 在 [伺服器總管] 中展開 [Azure],然後展開 [Data Lake Analytics]。 如果有資料湖分析帳戶,您就會看到其清單。 您無法從 Studio 建立 Data Lake Analytics 帳戶。 若要建立帳戶,請參閱使用 Azure 入口網站 開始使用 Azure Data Lake Analytics 或使用 Azure PowerShell 開始使用 Azure Data Lake Analytics

開發 U-SQL 應用程式

U-SQL 應用程式基本上是 U-SQL 指令碼。 若要深入了解 U-SQL,請參閱 開始使用 U-SQL 語言

您可以加入其他使用者定義的運算子至應用程式。 如需詳細資訊,請參閱 針對資料湖分析工作開發 U-SQL 使用者定義運算子

建立並提交資料湖分析工作

  1. 選取 [ 檔案 > 新增 > 專案]。

  2. 選取 [U-SQL 專案] 類型。

    新的 U-SQL Visual Studio 專案

  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 語言

  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. 確認 [分析帳戶 ] 是您要執行作業的位置,然後選取 [ 提交]。 提交作業完成時,[適用於 Visual Studio 的資料湖工具結果] 視窗中便會出現提交結果和工作連結。

  10. 請等待工作成功完成。 如果作業失敗,很可能遺漏原始程序檔。 請參閱本教學課程的必要條件一節。 如需詳細資訊,請參閱監視 Azure Data Lake Analytics 作業並進行疑難解答

    工作完成之後,您會看到下列畫面:

    資料湖分析分析 weblog 網站記錄

  11. 現在針對 Script1.usql重複步驟 7 - 10。

查看作業輸出

  1. [伺服器總管] 中,依序展開 [Azure]、[Data Lake Analytics]、[Data Lake Analytics 帳戶]、[儲存體帳戶]、以滑鼠右鍵單擊預設 Data Lake Storage 帳戶,然後選取 [管]。
  2. 按兩下 [範例] 來開啟資料夾,然後再連按兩下 [輸出]
  3. 按兩下 UnsuccessfulResponses.log
  4. 您也可以按兩下工作的圖形檢視內的輸出檔,直接瀏覽至輸出。

下一步

若要使用不同的工具開始使用資料湖分析,請參閱: