Azure Data Lake Analytics 将于 2024 年 2 月 29 日停用。
通过此公告
了解更多信息。
如果你已在使用 Azure Data Lake Analytics,可以为你的组织创建
迁移到 Azure Synapse Analytics 的计划
。
用于 Integration Services 的 Azure 功能包
提供
Azure Data Lake Analytics 任务
和
Azure Data Lake Analytics 连接管理器
,该管理器可帮助连接 Azure Data Lake Analytics 服务。 若要使用此任务,请务必:
下载并安装适用于 Visual Studio 的 SQL Server Data Tools (SSDT)
安装适用于 Integration Services (SSIS) 的 Azure 功能包
Azure Data Lake Analytics 任务
Azure Data Lake Analytics 任务允许用户向 Azure Data Lake Analytics 帐户提交 U-SQL 作业。
了解如何配置 Azure Data Lake Analytics 任务
。
可使用 SSIS 内置函数和任务从不同位置获取 U-SQL 脚本,以下场景介绍如何针对不同用户案例配置 U-SQL 脚本。
场景 1-使用内联脚本调用 tvf 和存储过程
在 Azure Data Lake Analytics 任务编辑器中,将 SourceType 配置为 DirectInput,并将 U-SQL 语句置于 USQLStatement 中
。
为了便于维护和代码管理,只需将简短的 U-SQL 脚本作为内联脚本,例如,可以调用 U-SQL 数据库中现有的表值函数和存储过程。
相关文章:
如何将参数传递到存储过程
场景 2-使用 Azure Data Lake Store 中的 U-SQL 文件
通过使用 Azure 功能包中的 Azure Data Lake Store 文件系统任务,还可使用 Azure Data Lake Store 中的 U-SQL 文件
。 通过这种方法,可使用存储在云上的脚本。
按照以下步骤设置 Azure Data Lake Store 文件系统任务和 Azure Data Lake Analytics 任务之间的连接。
设置任务控制流
在 SSIS 包设计视图中,添加一个 Azure Data Lake Store 文件系统任务、一个 Foreach 循环容器和一个位于 Foreach 循环容器内的 Azure Data Lake Analytics 任务
。 Azure Data Lake Store 文件系统任务有助于将 ADLS 帐户中的 U-SQL 文件下载到临时文件夹。 Foreach 循环容器和 Azure Data Lake Analytics 任务有助于将临时文件夹下的每个 U-SQL 文件作为 U-SQL 作业提交给 Azure Data Lake Analytics 帐户。
将“操作”设置为“CopyFromADLS”
。
设置 AzureDataLakeConnection,详细了解
Azure Data Lake Store 连接管理器
。
设置 AzureDataLakeDirectory
。 指向存储 U-SQL 脚本的文件夹。 使用相对于 Azure Data Lake Store 帐户根文件夹的相对路径。
将“目标”设置为缓存下载的 U-SQL 脚本的文件夹
。 此文件夹路径将在 Foreach 循环容器中用于 U-SQL 作业提交。
详细了解 Azure Data Lake Store 文件系统任务
。
在“集合”页上,将“枚举器”设置为“Foreach 文件枚举器”
。
将“枚举器配置”组下的“文件夹”设置为包含下载的 U-SQL 脚本的临时文件夹
。
将“枚举器配置”下的“文件”设置为
*.usql
,使循环容器仅捕获以
.usql
结尾的文件
。
在“变量映射”页中,添加一个用户定义变量,获取每个 U-SQL 文件的文件名
。 将“索引”
设置为 0 以获取文件名。 在本示例中,定义一个名为
User::FileName
的变量。 此变量将用于动态地获取 U-SQL 脚本文件连接,并在 Azure Data Lake Analytics 任务中设置 U-SQL 作业名称。
将“SourceType”
设置为“FileConnection”
。
将“FileConnection”
设置为指向从 Foreach 循环容器返回的文件对象的文件连接。
创建此文件连接:
在“FileConnection”设置中选择“<新建连接...>”。
将“使用类型”
设置为“现有文件”
,并将“文件”
设置为任何现有文件的文件路径。
在
“连接管理器”
视图中,右键单击创建的文件连接,然后选择
“属性”。
在“属性”窗口中,展开“表达式”,并将“ConnectionString”设置为 Foreach 循环容器中定义的变量,例如
@[User::FileName]
。
将“AzureDataLakeAnalyticsConnection”
设置为要向其提交作业的 Azure Data Lake Analytics 帐户。 详细了解
Azure Data Lake Analytics 连接管理器
。
设置其他作业配置。
了解详细信息
。
使用“表达式”
动态地设置 U-SQL 作业名称:
在“表达式”
页中,为“JobName”
添加新的表达式键值对。
将 JobName 的值设置为在 Foreach 循环容器中定义的变量,例如
@[User::FileName]
。
场景 3-使用 Azure Blob 存储中的 U-SQL 文件
通过使用 Azure 功能包中的 Azure Blob 下载任务
,可使用 Azure Blob 存储中的 U-SQL 文件。 通过这种方法,可使用云中的脚本。
这些步骤与
情景 2:使用 Azure Data Lake Store 中的 U-SQL 文件
中的步骤类似。 将 Azure Data Lake Store 文件系统任务更改为 Azure Blob 下载任务。
详细了解 Azure Blob 下载任务
。
控制流如下所示:
场景 4-使用本地计算机上的 U-SQL 文件
除了使用存储在云中的 U-SQL 文件,还可以使用本地计算机上的文件或与 SSIS 包一起部署的文件。
右键单击 SSIS 项目中的“连接管理器”
,然后选择“新建连接管理器”
。
选择“
文件类型
”,然后选择“
添加...”
。
将“使用类型”设置为“现有文件”,并将“文件”设置为本地计算机上的文件
。
添加“Azure Data Lake Analytics 任务”并:
将“SourceType”
设置为“FileConnection”
。
将
FileConnection
设置为创建的文件连接。
完成 Azure Data Lake Analytics 任务的其他配置。
场景 5-使用 SSIS 变量中的 U-SQL 语句
在某些情况下,可能需要动态生成 U-SQL 语句。 可将“SSIS 变量”与“SSIS 表达式”以及其他 SSIS 任务(如脚本任务)一起使用,帮助动态地生成 U-SQL 语句
。
通过“SSIS”>“变量”顶层菜单打开“变量”工具窗口。
添加 SSIS 变量并直接设置值,或者使用“表达式”
生成值。
添加“Azure Data Lake Analytics 任务”
并:
将“SourceType”
设置为“变量”
。
将
SourceVariable
设置为现在创建的 SSIS 变量。
完成 Azure Data Lake Analytics 任务的其他配置。
场景 6-将参数传递到 U-SQL 脚本
在某些情况下,可能需要在 U-SQL 脚本中动态地设置 U-SQL 变量值。 Azure Data Lake Analytics任务中的
参数映射
功能有助于实现此方案。 通常有两种典型的用户案例:
根据当前日期和时间动态设置输入和输出文件路径变量。
设置存储过程的参数。
详细了解如何设置 U-SQL 脚本的参数
。
在 Azure 中运行 SSIS 包
用于 Azure 的 Integration Services (SSIS) 功能包
使用 Azure 数据工厂计划 U-SQL 作业