相关文章推荐
英勇无比的烈酒  ·  highcharts ...·  1 年前    · 
爱笑的日记本  ·  CVPR2021 ...·  1 年前    · 
儒雅的饺子  ·  springboot webflux ...·  1 年前    · 

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 帐户。

    配置 Azure Data Lake Store 文件系统任务

  • 将“操作”设置为“CopyFromADLS”
  • 设置 AzureDataLakeConnection,详细了解 Azure Data Lake Store 连接管理器
  • 设置 AzureDataLakeDirectory 。 指向存储 U-SQL 脚本的文件夹。 使用相对于 Azure Data Lake Store 帐户根文件夹的相对路径。
  • 将“目标”设置为缓存下载的 U-SQL 脚本的文件夹 。 此文件夹路径将在 Foreach 循环容器中用于 U-SQL 作业提交。
  • 详细了解 Azure Data Lake Store 文件系统任务

    配置 Foreach 循环容器

  • 在“集合”页上,将“枚举器”设置为“Foreach 文件枚举器”

  • 将“枚举器配置”组下的“文件夹”设置为包含下载的 U-SQL 脚本的临时文件夹

  • 将“枚举器配置”下的“文件”设置为 *.usql ,使循环容器仅捕获以 .usql 结尾的文件

  • 在“变量映射”页中,添加一个用户定义变量,获取每个 U-SQL 文件的文件名 。 将“索引” 设置为 0 以获取文件名。 在本示例中,定义一个名为 User::FileName 的变量。 此变量将用于动态地获取 U-SQL 脚本文件连接,并在 Azure Data Lake Analytics 任务中设置 U-SQL 作业名称。

    配置 Azure Data Lake Analytics 任务

  • 将“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 作业
  •