重要
Azure Data Lake Analytics 于 2024 年 2 月 29 日停用。 了解更多信息,请查看此公告。
对于数据分析,你的组织可以使用 Azure Synapse Analytics 或 Microsoft Fabric。
开发 U-SQL 脚本时,可以通过在本地运行脚本来节省时间和费用。 适用于 Visual Studio 的 Azure Data Lake 工具支持在本地计算机上运行 U-SQL 脚本。
本地运行的基本概念
下图显示了用于本地运行的组件以及这些组件如何映射到云运行。
组件 | 本地运行 | 云端运行 |
---|---|---|
储存 | 本地数据根文件夹 | 默认 Azure Data Lake Store 帐户 |
计算 | U-SQL 本地运行引擎 | Azure Data Lake Analytics 服务 |
运行环境 | 本地计算机上的工作目录 | Azure Data Lake Analytics 群集 |
以下部分提供有关本地运行组件的详细信息。
本地数据根文件夹
本地数据根文件夹是本地计算帐户的 本地存储 。 本地计算机上的本地文件系统中的任何文件夹都可以是本地数据根文件夹。 它与 Data Lake Analytics 帐户的默认 Azure Data Lake Store 帐户相同。 切换到其他数据根文件夹就像切换到其他默认存储帐户一样。
数据根文件夹的使用方法如下:
- 存储元数据。 示例包括数据库、表、表值函数和程序集。
- 查找在 U-SQL 脚本中定义为相对路径的输入和输出路径。 通过使用相对路径,将 U-SQL 脚本部署到 Azure 更容易。
U-SQL 本地运行引擎
U-SQL 本地运行引擎是用于 U-SQL 作业的一个< c0>本地计算帐户< /c0>。 用户可以通过适用于 Visual Studio 的 Azure Data Lake 工具在本地运行 U-SQL 作业。 Azure Data Lake U-SQL SDK 命令行和编程接口也支持本地运行。 详细了解 Azure Data Lake U-SQL SDK。
工作目录
运行 U-SQL 脚本时,需要一个工作目录文件夹来缓存编译结果、运行日志和执行其他函数。 在适用于 Visual Studio 的 Azure Data Lake 工具中,工作目录是 U-SQL 项目的工作目录。 它位于 <U-SQL project root path>/bin/debug>
。 每次触发新运行时,都会清理工作目录。
Microsoft Visual Studio 中的本地运行
适用于 Visual Studio 的 Azure Data Lake 工具具有内置的本地运行引擎。 这些工具将引擎显示为一个本地计算账户。 若要在本地运行 U-SQL 脚本,请在脚本的编辑器边距下拉菜单中选择 本地计算机 或 本地项目 帐户。 然后选择“ 提交”。
使用本地计算机帐户进行本地运行
本地计算机帐户是一个共享本地计算帐户,其中单个本地数据根文件夹作为本地存储帐户。 默认情况下,数据根文件夹位于 C:\Users<username>\AppData\Local\USQLDataRoot。 它还可通过 工具>Data Lake>选项和设置进行配置。
本地运行需要 U-SQL 项目。 U-SQL 项目的工作目录用于 U-SQL 本地运行工作目录。 在本地运行期间,生成编译结果、运行日志和其他与作业运行相关的文件并将其存储在工作目录文件夹下。 每次重新运行脚本时,都会清理并重新生成工作目录中的所有文件。
使用本地项目帐户进行本地运行
Local-project帐户是一个针对每个项目独立的本地计算账户,具备一个独立的本地数据根文件夹。 在 Visual Studio 的解决方案资源管理器中打开的每个活动 U-SQL 项目都有相应的 (Local-project: <project name>)
帐户。 这些帐户在 Visual Studio 中的服务器资源管理器和 U-SQL 脚本编辑器边距中列出。
本地项目帐户提供干净隔离的开发环境。 本地计算机帐户具有共享的本地数据根文件夹,用于存储所有本地作业的元数据和输入和输出数据。 但是,每次运行 U-SQL 脚本时, 本地项目 帐户都会在 U-SQL 项目工作目录下创建临时本地数据根文件夹。 重新生成或重新运行时,将清理此临时数据根文件夹。
U-SQL 项目通过项目引用和属性管理隔离的本地运行环境。 可以在项目和引用的数据库环境中为 U-SQL 脚本配置输入数据源。
管理本地项目帐户的输入数据源
U-SQL 项目创建本地数据根文件夹,并为 本地项目 帐户设置数据。 每次重新生成和本地运行时,都会清理并重新创建 U-SQL 项目工作目录下的临时数据根文件夹。 U-SQL 项目配置的所有数据源将在本地作业运行之前复制到此临时本地数据根文件夹。
可以配置数据源的根文件夹。 右键单击 U-SQL 项目>属性>测试数据源。 在本地 项目 帐户上运行 U-SQL 脚本时, 测试数据源 文件夹中的所有文件和子文件夹将复制到临时本地数据根文件夹。 子文件夹中的文件被包含。 在本地作业运行后,还可以在项目工作目录中的临时本地数据根文件夹下找到输出结果。 在重新生成和清理项目时,将删除并清理所有这些输出。
管理本地项目账户的引用数据库环境。
如果 U-SQL 查询使用或查询 U-SQL 数据库对象,则必须在本地准备好数据库环境,然后才能在本地运行 U-SQL 脚本。 对于 本地项目 帐户,U-SQL 数据库依赖项可由 U-SQL 项目引用管理。 可以将 U-SQL 数据库项目引用添加到 U-SQL 项目。 在 本地项目 帐户上运行 U-SQL 脚本之前,所有引用的数据库将部署到临时本地数据根文件夹。 对于每次运行,临时数据根文件夹会被清理以保持一个新的独立环境。
请参阅此相关文章:
- 了解如何管理 U-SQL 数据库项目中的 U-SQL 数据库定义和引用。
本地计算机和本地项目帐户之间的差异
本地计算机帐户模拟用户本地计算机上的 Azure Data Lake Analytics 帐户。 它与 Azure Data Lake Analytics 帐户共享相同的体验。 本地项目帐户提供用户友好的本地开发环境。 此环境可帮助用户在本地运行脚本之前部署数据库引用和输入数据。 本地计算机帐户提供可通过所有项目访问的共享永久环境。 本地项目帐户为每个项目提供独立的开发环境。 它会在每次运行时刷新。 本地项目帐户通过快速应用新更改来提供更快的开发体验。
下表显示了 本地计算机 帐户和 本地项目 帐户之间的更多差异:
差异角度 | 本地计算机 | 本地项目 |
---|---|---|
本地访问 | 可由所有项目访问。 | 只有相应的项目才能访问此帐户。 |
本地数据根文件夹 | 永久本地文件夹。 通过 工具>Data Lake>选项和设置进行配置。 | 为 U-SQL 项目工作目录下的每个本地运行创建的临时文件夹。 重新生成或重新运行时,将清理文件夹。 |
U-SQL 脚本的输入数据 | 永久本地数据根文件夹下的相对路径。 | 通过 U-SQL 项目属性>测试数据源进行设置。 在本地运行之前,所有文件和子文件夹将复制到临时数据根文件夹。 |
U-SQL 脚本的输出数据 | 永久本地数据根文件夹下的相对路径。 | 输出到临时数据根文件夹。 在重新生成或重新运行时,结果会被清理。 |
被引用的数据库部署 | 引用的数据库在针对 本地计算机 帐户运行时不会自动部署。 将内容提交到 Azure Data Lake Analytics 帐户的过程是一样的。 | 引用的数据库会在本地运行之前自动部署到 本地项目 帐户。 重新生成或重新运行时,将清理和重新部署所有数据库环境。 |
使用 U-SQL SDK 的本地运行
可以在 Visual Studio 本地运行 U-SQL 脚本,还可以使用 Azure Data Lake U-SQL SDK 通过命令行和编程接口在本地运行 U-SQL 脚本。 通过这些接口,可以自动执行 U-SQL 本地运行和测试。
详细了解 Azure Data Lake U-SQL SDK。