ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【Azure Data Platform】ETL工具(15)——ADF Lookup详解

2022-02-28 15:58:34  阅读:189  来源: 互联网

标签:Lookup1 15 TableName 模式 ADF Platform Lookup 表名


本文属于【Azure Data Platform】系列。
接上文:【Azure Data Platform】ETL工具(14)——ADF控制流简介
本文介绍ADF 的lookup 详解

前言

Lookup活动,可以读取数据库中或文件系统中的数据然后作为参数,传输到后续的数据复制和数据转换活动中。但是ADF的lookup只能用于对象级别。也就是说用来定义文件名,表名等。并且这些都只能在同一个管道中实现。

它可以从多种数据源中读取数据,详细列表:支持的数据源。Lookup活动支持单行模式和数据模式(全部数据集),下面分别演示一下。

单行模式

单行模式就是从数据源中获取第一行的数据而不是全部数据。首先从数据库中获取用户表名,并把第一行传输到后续的操作中作为输入参数。

先创建一个管道,并通过下面的SQL获取数据库中所有表名。

select schema_name(schema_id)+'.'+name as Name
from sys.tables

然后使用一个存储过程把上面的表名以值的形式插入到日志表中:

CREATE TABLE [dbo].[Log](
   [TableName] [varchar](max) NULL
) 
GO
 
CREATE PROCEDURE [dbo].[sp_LogTBNames]
@TableName varchar(max)
AS
BEGIN
  INSERT INTO [Log] Values(@TableName)
END
GO

在这里插入图片描述

拖拽一个“存储过程”活动并接收Lookup活动的输出:
在这里插入图片描述

找出上面创建的存储过程。
在这里插入图片描述

导入并在值中选择添加动态内容,选择Lookup1的输出作为参数值,如下图:
在这里插入图片描述

但是最终参数并不能直接选用,要再添加两部分,firstRow.Name, 也就是参数值为:@activity(‘Lookup1’).output.firstRow.Name

然后完成了搭建,并发布,调试:

在这里插入图片描述

在这里插入图片描述
检查结果:
在这里插入图片描述
接下来我们试一下数据模式,也就是整个数据集。

数组模式

首先数组模式与单行模式的区别是不可勾选【仅第一行】,这里我们沿用上面的pipeline,但是取消勾选【仅第一行】然后拖拽“设置变量”

在这里插入图片描述
点击空白处,创建一个变量TableName,并把类型设置为“数组”类型:
在这里插入图片描述

在设置变量中的变量页选择上面创建出来的变量“TableName”:

在这里插入图片描述

如下图所示,选择Lookup1中的输出值为TableName的输入值。
在这里插入图片描述

在这里插入图片描述
发布并调试,可以看到Lookup1的输出如下,是一个数组类型,而不是前面那种单值类型,单值模式显示的是【FirstRow】:

在这里插入图片描述

检查输入,也就是“设置变量”活动中的输入值:
在这里插入图片描述

标签:Lookup1,15,TableName,模式,ADF,Platform,Lookup,表名
来源: https://blog.csdn.net/DBA_Huangzj/article/details/123124753

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有