使用 Azure Data Lake Analytics 分析网站日志
了解如何使用 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 项:
Data Lake Analytics 和适用于 Visual Studio 的 Data Lake 工具的基本知识。 如要入门,请参阅:
Data Lake Analytics 帐户。 请参阅创建 Azure Data Lake Analytics 帐户。
安装示例数据。 在Azure 门户中,打开Data Lake Analytics帐户,在左侧菜单中选择“示例脚本”,然后选择“复制示例数据”。
连接到 Azure
必须先连接到 Azure,才能生成并测试任意 U SQL 脚本。
连接到 Data Lake Analytics
- 打开 Visual Studio。
- 选择 “Data Lake > 选项和设置”。
- 选择 “登录”或“ 更改用户 ”(如果有人已登录),并按照说明进行操作。
- 选择“ 确定 ”关闭“选项和设置”对话框。
浏览 Data Lake Analytics 帐户
- 从 Visual Studio 中,通过按 CTRL+ALT+S打开“服务器资源管理器” 。
- 在“服务器资源管理器”中,展开“Azure”,并展开“Data Lake Analytics”。 如果有 Data Lake Analytics 帐户,将看到其列表。 无法从工作室创建Data Lake Analytics帐户。 若要创建帐户,请参阅使用 Azure 门户 开始使用 Azure Data Lake Analytics 或使用 Azure PowerShell开始使用 Azure Data Lake Analytics。
开发 U SQL 应用程序
U-SQL 应用程序主要是 U-SQL 脚本。 若要了解有关 U SQL 的详细信息,请参阅 Get started with U-SQL(U-SQL 入门)。
可以向应用程序中添加用户定义的运算符。 有关详细信息,请参阅 Develop U-SQL user defined operators for Data Lake Analytics jobs(为 Data Lake Analytics 作业开发 U-SQL 用户定义的运算符)。
创建并提交 Data Lake Analytics 作业
选择 “文件 > 新建 > 项目”。
选择“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,请参阅 Get started with Data Lake Analytics U-SQL language(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”,然后选择“生成脚本”。 验证“输出”窗格中的结果。
从解决方案资源管理器,右键单击“Script.usql”,然后选择“提交脚本”。
验证 “分析帐户 ”是要在其中运行作业的帐户,然后选择“ 提交”。 完成提交后,“适用于 Visual Studio 的 Data Lake 工具结果”窗口中会出现提交结果和作业链接。
等待作业成功完成。 如果作业失败,则很可能缺少源文件。 请参阅本教程的先决条件部分。 有关故障排除的详细信息,请参阅监视 Azure Data Lake Analytics作业并对其进行故障排除。
作业完成后,将看到以下屏幕:
现在请为 Script1.usql 重复步骤 7-10。
查看作业输出
- 在“服务器资源管理器”中,依次展开“Azure”、“Data Lake Analytics”、“Data Lake Analytics帐户”和“存储帐户”,右键单击默认Data Lake Storage帐户,然后选择“资源管理器”。
- 双击“示例”打开文件夹,并双击“输出”。
- 双击“UnsuccessfulResponses.log”。
- 也可以双击该作业图形视图中的输出文件直接导航到输出。
后续步骤
若要借助不同的工具开始使用 Data Lake Analytics,请参阅: