使用 Azure Data Lake Analytics 來分析網站記錄
了解如何使用資料湖分析來分析網站記錄,特別是找出哪些訪客來源在嘗試瀏覽網站時遇到錯誤。
重要
Azure Data Lake Analytics 於 2024 年 2 月 29 日淘汰。 使用此公告深入瞭解。
針對數據分析,您的組織可以使用 Azure Synapse Analytics 或 Microsoft Fabric。
必要條件
Visual Studio 2015 或 Visual Studio 2013。
Visual Studio 適用的 Data Lake 工具。
安裝 Data Lake Tools for Visual Studio 之後,您會在 Visual Studio 的 [工具] 功能表中看到 Data Lake 專案:
對於資料湖分析和適用於 Visual Studio 的資料湖工具有基本的認識。 若要開始使用,請參閱:
Data Lake Analytics 帳戶。 請參閱建立 Azure Data Lake Analytics 帳戶可節省時間。
安裝範例資料。 在 Azure 入口網站 中,開啟您的 Data Lake Analytics 帳戶,然後選取左側功能表上的 [範例腳本],然後選取 [複製範例數據]。
連線到 Azure
您必須先連接至 Azure,然後才能建置及測試任何 U-SQL 指令碼。
連接到資料湖分析
- 開啟 Visual Studio。
- 選取 [Data Lake > 選項和設定]。
- 選取 [登入],如果有人登入,請 選取 [變更使用者 ],然後遵循指示。
- 選取 [確定 ] 以關閉 [選項和設定] 對話框。
瀏覽您的資料湖分析帳戶
- 從 Visual Studio 中,按 CTRL+ALT+S,開啟 [伺服器總管]。
- 在 [伺服器總管] 中展開 [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 使用者定義運算子。
建立並提交資料湖分析工作
選取 [ 檔案 > 新增 > 專案]。
選取 [U-SQL 專案] 類型。
選取 [確定]。 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,請參閱 開始使用資料湖分析 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 指令碼和 [提交] 按鈕,指定您的分析帳戶。
從 方案總管,以滑鼠右鍵按兩下 Script.usql,然後選取 [建置腳本]。 確認 [輸出] 窗格中的結果。
從 方案總管,以滑鼠右鍵按兩下 Script.usql,然後選取 [提交腳本]。
確認 [分析帳戶 ] 是您要執行作業的位置,然後選取 [ 提交]。 提交作業完成時,[適用於 Visual Studio 的資料湖工具結果] 視窗中便會出現提交結果和工作連結。
請等待工作成功完成。 如果作業失敗,很可能遺漏原始程序檔。 請參閱本教學課程的必要條件一節。 如需詳細資訊,請參閱監視 Azure Data Lake Analytics 作業並進行疑難解答。
工作完成之後,您會看到下列畫面:
現在針對 Script1.usql重複步驟 7 - 10。
查看作業輸出
- 從 [伺服器總管] 中,依序展開 [Azure]、[Data Lake Analytics]、[Data Lake Analytics 帳戶]、[儲存體帳戶]、以滑鼠右鍵單擊預設 Data Lake Storage 帳戶,然後選取 [總管]。
- 按兩下 [範例] 來開啟資料夾,然後再連按兩下 [輸出]。
- 按兩下 UnsuccessfulResponses.log。
- 您也可以按兩下工作的圖形檢視內的輸出檔,直接瀏覽至輸出。
下一步
若要使用不同的工具開始使用資料湖分析,請參閱: