重要
除非已启用订阅,否则无法再创建新的 Azure Data Lake Analytics 帐户。 如果您需要激活订阅,联系支持人员 并提供您的业务场景。
如果已在使用 Azure Data Lake Analytics,则需要在 2024 年 2 月 29 日为组织创建到 Azure Synapse Analytics 的 迁移计划。
本文介绍如何使用适用于 Visual Studio Code 的 Azure Data Lake 工具(VS Code)创建、测试和运行 U-SQL 脚本。 以下视频还介绍了这些信息:
先决条件
适用于 VS Code 的 Azure Data Lake 工具支持 Windows、Linux 和 macOS。 U-SQL 本地运行和本地调试仅适用于 Windows。
对于 macOS 和 Linux:
安装 Azure Data Lake 工具
安装必备组件后,可以安装适用于 VS Code 的 Azure Data Lake 工具。
安装 Azure Data Lake 工具
打开 Visual Studio Code。
在左窗格中选择 “扩展 ”。 在搜索框中输入 Azure Data Lake 工具 。
选择 Azure Data Lake 工具旁边的“安装”。
几秒钟后, “安装 ”按钮将更改为 “重新加载”。
选择 “重新加载 ”以激活 Azure Data Lake 工具 扩展。
选择 “重载”窗口 进行确认。 可以在“扩展”窗格中看到 Azure Data Lake 工具。
激活 Azure Data Lake 工具
创建 .usql 文件或打开现有的 .usql 文件以激活扩展名。
使用 U-SQL
若要使用 U-SQL,需要打开 U-SQL 文件或文件夹。
打开示例脚本
打开命令面板(Ctrl+Shift+P),并输入 ADL:打开示例脚本。 它将打开此示例的另一个实例。 还可以在此实例上编辑、配置和提交脚本。
打开 U-SQL 项目的文件夹
从 Visual Studio Code 中,选择 “文件” 菜单,然后选择“ 打开文件夹”。
指定文件夹,然后选择“ 选择文件夹”。
选择“ 文件 ”菜单,然后选择“ 新建”。 将无标题-1 文件添加到项目中。
在 Untitled-1 文件中输入以下代码:
@departments = SELECT * FROM (VALUES (31, "Sales"), (33, "Engineering"), (34, "Clerical"), (35, "Marketing") ) AS D( DepID, DepName );
OUTPUT @departments TO “/Output/departments.csv” USING Outputters.Csv(;
该脚本创建一个 departments.csv 文件,其中包含 /output 文件夹中的某些数据。
将文件另存为 myUSQL.usql ,并将其保存在打开的文件夹中。
编译 U-SQL 脚本
- 选择 Ctrl+Shift+P 以打开命令面板。
- 输入 ADL:编译脚本。 编译结果将显示在 “输出 ”窗口中。 还可以右键单击脚本文件,然后选择 ADL:编译脚本 以编译 U-SQL 作业。 编译结果将显示在“ 输出 ”窗格中。
提交 U-SQL 脚本
- 选择 Ctrl+Shift+P 以打开命令面板。
- 输入 ADL:提交作业。 还可以右键单击脚本文件,然后选择 “ADL:提交作业”。
提交 U-SQL 作业后,提交日志将显示在 VS Code 的 “输出 ”窗口中。 作业视图显示在右窗格中。 如果提交成功,作业 URL 也会显示。 可以在 Web 浏览器中打开作业 URL,以跟踪实时作业状态。
在作业视图的 “摘要 ”选项卡上,可以看到作业详细信息。 主要函数包括重新提交脚本、复制脚本并在门户中打开。 在作业视图的 “数据 ”选项卡上,可以引用输入文件、输出文件和资源文件。 文件可以下载到本地计算机。
设置默认上下文
如果尚未单独设置文件的参数,则可以将默认上下文设置为将此设置应用于所有脚本文件。
选择 Ctrl+Shift+P 以打开命令面板。
输入 ADL:设置默认上下文。 或右键单击脚本编辑器并选择 ADL:设置默认上下文。
选择所需的帐户、数据库和架构。 该设置将保存到 xxx_settings.json 配置文件。
设置脚本参数
选择 Ctrl+Shift+P 以打开命令面板。
输入 ADL:设置脚本参数。
使用以下属性打开 xxx_settings.json 文件:
- 帐户:Azure 订阅下的 Azure Data Lake Analytics 帐户,用于编译和运行 U-SQL 作业。 编译并运行 U-SQL 作业之前,需要配置计算机帐户。
- 数据库:帐户下的数据库。 默认值为 master。
- schema:数据库下的架构。 默认值为 dbo。
-
optionalSettings:
- priority:优先级范围为 1 到 1000,其中 1 作为最高优先级。 默认值为 1000。
- degreeOfParallelism:并行度范围为 1 到 150。 默认值是 Azure Data Lake Analytics 帐户中允许的最大并行度。
注释
保存配置后,如果没有设置默认上下文,帐户、数据库和架构信息会显示在相应 .usql 文件的左下角的状态栏上。
设置 Git 忽略
选择 Ctrl+Shift+P 以打开命令面板。
输入 ADL:设置 Git 忽略。
- 如果 VS Code 工作文件夹中没有 .gitIgnore 文件,则会在文件夹中创建一个名为 .gitIgnore 的文件。 默认情况下,文件中添加了四个项目(usqlCodeBehindReference、 usqlCodeBehindGenerated、 .cache、 obj)。 如果需要,可以进行更多更新。
- 如果 VS Code 工作文件夹中已有一个 .gitIgnore 文件,该工具会在 .gitIgnore 文件中添加四个项目(usqlCodeBehindReference、usqlCodeBehindGenerated、.cache、obj)(如果文件中未包含这四个项目)。
使用代码隐藏文件:C Sharp、Python 和 R
Azure Data Lake 工具支持多个自定义代码。 有关说明,请参阅 在 VS Code 中使用 Python、R 和 C Sharp 开发适用于 Azure Data Lake Analytics 的 U-SQL。
使用程序集
有关开发程序集的信息,请参阅 为 Azure Data Lake Analytics 作业开发 U-SQL 程序集。
可以使用 Data Lake 工具在 Data Lake Analytics 目录中注册自定义代码程序集。
注册程序集
可以通过 ADL:Register Assembly 或 ADL: Register Assembly (Advanced) 命令注册程序集。
通过 ADL:Register Assembly 命令进行注册
- 选择 Ctrl+Shift+P 以打开命令面板。
- 输入 ADL:注册程序集。
- 指定本地程序集路径。
- 选择 Data Lake Analytics 帐户。
- 选择数据库。
门户在浏览器中打开,并显示程序集注册过程。
触发 ADL:注册程序集 命令的更方便方法是右键单击文件资源管理器中的 .dll 文件。
若要通过 ADL 注册:注册程序集(高级)命令
选择 Ctrl+Shift+P 以打开命令面板。
输入 ADL:注册程序集(高级)。
指定本地程序集路径。
将显示 JSON 文件。 根据需要查看和编辑程序集依赖项和资源参数。 指令显示在 输出 窗口中。 若要继续执行程序集注册,请保存 JSON 文件(Ctrl+S)。
注释
- Azure Data Lake 工具自动检测 DLL 是否具有任何程序集依赖项。 检测到依赖项后会显示在 JSON 文件中。
- 可以上传 DLL 资源(例如,.txt、.png和 .csv),作为程序集注册的一部分。
触发 ADL:注册程序集(高级) 命令的另一种方法是在文件资源管理器中右键单击 .dll 文件。
以下 U-SQL 代码演示如何调用程序集。 在示例中,程序集名称是 测试。
REFERENCE ASSEMBLY [test];
@a =
EXTRACT
Iid int,
Starts DateTime,
Region string,
Query string,
DwellTime int,
Results string,
ClickedUrls string
FROM @"Sample/SearchLog.txt"
USING Extractors.Tsv();
@d =
SELECT DISTINCT Region
FROM @a;
@d1 =
PROCESS @d
PRODUCE
Region string,
Mkt string
USING new USQLApplication_codebehind.MyProcessor();
OUTPUT @d1
TO @"Sample/SearchLogtest.txt"
USING Outputters.Tsv();
对 Windows 用户使用 U-SQL 本地运行和本地调试
U-SQL 本地运行测试本地数据,并在代码发布到 Data Lake Analytics 之前在本地验证脚本。 在将代码提交到 Data Lake Analytics 之前,可以使用本地调试功能完成以下任务:
- 调试 C# 后台代码。
- 逐步执行代码。
- 在本地验证脚本。
本地运行和本地调试功能仅适用于 Windows 环境,macOS 和基于 Linux 的作系统不支持此功能。
有关本地运行和本地调试的说明,请参阅 使用 Visual Studio Code 的 U-SQL 本地运行和本地调试。
连接到 Azure
在 Data Lake Analytics 中编译和运行 U-SQL 脚本之前,必须连接到 Azure 帐户。
使用命令连接到 Azure
选择 Ctrl+Shift+P 以打开命令面板。
输入 ADL:登录。 登录信息显示在右下角。
选择 “复制并打开 ”以打开 登录网页。 将代码粘贴到框中,然后选择“ 继续”。
按照说明从网页登录。 连接后,Azure 帐户名称将显示在 VS Code 窗口左下角的状态栏上。
注释
- 如果未注销,Data Lake 工具会在下次自动登录。
- 如果帐户已启用两个因素,我们建议使用电话身份验证,而不是使用 PIN。
若要注销,请输入命令 ADL:注销。
从资源管理器连接到 Azure
展开 AZURE DATALAKE,选择 “登录到 Azure”,然后按照步骤 3 和步骤 4 使用命令连接到 Azure。
无法从资源管理器注销。 若要注销,请参阅 使用命令连接到 Azure。
创建提取脚本
可以使用命令 ADL:创建 EXTRACT 脚本 或从 Azure Data Lake 资源管理器创建 .csv、.tsv 和 .txt 文件的提取脚本。
使用命令创建提取脚本
- 选择 Ctrl+Shift+P 以打开命令面板,然后输入 ADL:创建 EXTRACT 脚本。
- 指定 Azure 存储文件的完整路径,然后选择 Enter 键。
- 选择一个帐户。
- 对于 .txt 文件,请选择一个分隔符以提取该文件。
根据您输入的条目生成的提取脚本。 对于无法检测列的脚本,请从两个选项中选择一个。 否则,将只生成一个脚本。
从资源管理器创建提取脚本
创建提取脚本的另一种方法是通过 azure Data Lake Store 或 Azure Blob 存储中的 .csv、.tsv 或 .txt 文件的右键单击(快捷)菜单。
后续步骤
- 在 VS Code 中使用 Python、R 和 C Sharp 开发适用于 Azure Data Lake Analytics 的 U-SQL
- 使用 Visual Studio Code 本地运行和调试 U-SQL
- 教程:Azure Data Lake Analytics 入门
- 教程:使用用于 Visual Studio 的 Data Lake 工具开发 U-SQL 脚本