映射数据流(Mapping Data Flow)的核心功能是转换数据,数据流的结构分为Source、转换和Sink(也就是Destination),这种结构非常类似于SSIS的数据流。

在数据流中,数据就像流水(stream)一样,从上一个组件,流向下一个组件。组件之间有graph相连接,把各个组件连接为一个转换流(transformation stream),在数据流面板中,graph显示为一根线,用于表示数据从一个组件流向另一个组件的路径。

转换组件是数据流的核心组件,每一个转换组件都有输入和输出,接收上一个路径上的组件输入的数据,并向下一个路径上的组件输出数据。

一,创建映射数据流面板

打开一个数据工厂,切换到Author面板中,从“Factory Resources”中选择“Data flows”,从后面的“...” (Actions)中选择“New mapping dataflow”,新建数据流面板:

初始的数据流面板如下图所示,dataflow1是数据流面板的名称,面板的中央是画布,可以向画布中添加Source、转换组件和Sink(destination)。

二,为数据流组件添加Source

从dataflow的面板中点击“Add Source”为数据流添加源, 添加数据源之后,source1是源的名称,右下方有一个“+”号,表示为源添加转换功能。

在选中Source之后,面板中央的下方区域显示为Source的属性面板,

1,Source setting 面板

Source settings 用于设置Source的属性,常用的Source属性是Source type(源类型),最常用的类型是Dataset,表示从Dataset中获取数据。

2,Optimize 面板

Optimize 选项卡 用于设置分区架构

3,Inspect面板

Inspect 选项卡用于显示数据流的元数据,该选项卡是一个只读的视图,从该选项卡中可以看到数据流的列数量(column counts),列变化、增加的列、类的数据类型、列的顺序等。

三,添加转换功能

点击Source右小角的“+”号,为源添加转换功能,这是数据流的核心功能,常用的转换功能分为四组:Multiple inputs/outputs、Schema modifier、Row modifier和Destination。

1,多输入/输出(Multiple inputs/outputs)

  • Join:用于表示连接,把多个Source(Input)连接成一个输出流
  • Conditional Split:条件拆分,把一个Source 按照条件拆分成多个输出流
  • Exists:需要两个输入Left stream和Right stream,按照指定的条件和Exist type输出数据,如果Exist type是Exists,那么表示输出Left Stream存在于Right stream的数据;如果Exist type是Doesn't exist,那么表示输出Left stream不存在于Right stream的数据。
  • Union:把多个输入合并
  • Lookup:需要两个输入,Primary stream和Lookup stream,把Primary stream中存在于Lookup stream中的数据输出。

2,Schema Modifier

对列进行修改:

  • Derive Column:派生列
  • Select:选择列
  • Aggregate:对源中的数据进行聚合运算
  • SurrogateKey:根据源的主键生成代理主键
  • Pivot和Unpivot:透视和逆透视
  • Windows:定义数据流中基于窗口的列的聚合
  • Flatten:平展数据,例如,把JSON字段平展,生成多个字段
  • Rank:排名

 3,Row Moifier

对行进行修改:

  • Filter:过滤行
  • Sort:对行进行排序
  • Alter Row:修改行,设置针对行的插入、删除、更新和更新插入(upsert)策略

4,Destination

Sink:用于设置数据存储的目标

四,运行和监控数据流

数据流实际上是Pipeline中的一个Activity,只有在Pipeline中创建数据流Activity,才能开始Debug,并设置触发器。

1,调式数据流

在发布(publish)之前,需要对数据流进行调试,把数据流的“Data flow debug”设置为启用:

调试完成之后,发布数据流,就可以把数据流保存到数据工厂中。

2,添加数据流Activity

在Pipeline中面板中添加Data flow 活动,

在Data flow活动的Settings选项卡中,在“Data flow”中设置引用的数据流,Run on (Azure IR) 用于设置IR,并可以设置日志级别(Logging Level),Verbose是默认选项,表示记录详细的日志。

3,监控数据路

监控数据流其实就是在Pipeline runs中查看管道执行的情况

参考文档:

Transform data using mapping data flows

ADF 第五篇:转换数据的更多相关文章

  1. R学习笔记 第五篇:数据变换和清理

    在使用R的分组操作之前,首先要了解R语言包,包实质上是实现特定功能的,预先写好的代码库(library),R拥有大量的软件包,许多包都是由某一领域的专家编写的,但并不是所有的包都有很高的质量的,在使用 ...

  2. 第五篇:数据备份、pymysql模块

    http://www.cnblogs.com/linhaifeng/articles/7525619.html#_label3 一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们 ...

  3. python、第五篇:数据备份、pymysql模块

    一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https://pan.baidu.com/s/1bpo5mqj 掌握: #1. 测试+链接 ...

  4. ADF 第七篇:控制流

    Azure Data Factory 系列博客: ADF 第一篇:Azure Data Factory介绍 ADF 第二篇:使用UI创建数据工厂 ADF 第三篇:Integration runtime ...

  5. EnjoyingSoft之Mule ESB开发教程系列第五篇:控制消息的流向-数据路由

    目录 1. 使用场景 2. 基于消息头的路由 2.1 使用JSON提交订单的消息 2.2 使用XML提交订单的消息 2.3 使用Choice组件判断订单格式 3. 基于消息内容的路由 4. 其他控制流 ...

  6. 解剖SQLSERVER 第五篇 OrcaMDF里读取Bits类型数据(译)

    解剖SQLSERVER 第五篇  OrcaMDF里读取Bits类型数据(译) http://improve.dk/reading-bits-in-orcamdf/ Bits类型的存储跟SQLSERVE ...

  7. 第十五篇 Integration Services:SSIS参数

    本篇文章是Integration Services系列的第十五篇,详细内容请参考原文. 简介在前一篇,我们使用SSDT-BI将第一个SSIS项目My_First_SSIS_Project升级/转换到S ...

  8. 第五篇 Integration Services:增量加载-Deleting Rows

    本篇文章是Integration Services系列的第五篇,详细内容请参考原文. 在上一篇你学习了如何将更新从源传送到目标.你同样学习了使用基于集合的更新优化这项功能.回顾增量加载记住,在SSIS ...

  9. Pyhton开发【第五篇】:Python基础之杂货铺

    Python开发[第五篇]:Python基础之杂货铺   字符串格式化 Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进 ...

随机推荐

  1. 探究:nuget工具对不再使用的dll文件的处理策略

    背景介绍 nuget是.net平台有效的包管理工具,相信每个C#开发者对它都不陌生. 本文我们来探究一下nuget对不再使用的dll文件的处理策略,分为如下2个场景: 场景A:包A1.0原来包含New ...

  2. SpringBoot使用策略模式+工厂模式

    为了防止大量的if...else...或switch case代码的出现,可以使用策略模式+工厂模式进行优化. 在我的项目当中,报表繁多,所以尝试了这种方式进行优化报表的架构.代码很简单,如下: Fa ...

  3. ABBYY FineReader 15 中保存和导出PDF文档的小细节

    运用ABBYY FineReader OCR文字识别软件,用户能将各种格式的PDF文档保存为新的PDF文档.PDF/A格式文档,以及Microsoft Word.Excel.PPT等格式.在保存与导出 ...

  4. 利用MathType在Word里输入几何符号的技巧

    通过学习几何学的知识,我们发现其中包含的几何符号有很多,比如有表示图形的符号,如三角形,平行四边形,圆,角,圆弧等:还有表示位置关系的符号,如平行,垂直等:还有表示矢量等其他符号,那这些符号怎么打出来 ...

  5. 思维导图软件iMindMap:生活工作的好帮手

    思维导图iMindMap这样的好帮手在生活工作中能帮你打破困境,,至于它有哪些力所能及的事情就是下面小编要跟你讲的: 你是否经常遇到过这样的情况: 作为学生,你觉得学习紧张,虽然三更眠五更起,还是成绩 ...

  6. 利用perspective 和 transform 里面的几个参数来实现旋转照片墙

    旋转照片墙 首先,来看下,是什么效果吧,上效果图 ↓ 其实这个东西,很容易制作,先说下思路, 把照片都给叠在一起,然后 rotateY 旋转,给每张图片 旋转不一样的角度能构成一圈, 然后transl ...

  7. Spring Boot中的配置

    一.首先使用idea中的Spring Initializr快速创建一个SpringBoot应用,idea会联网自动创建,创建好的结构如下(一些没必要的文件都删了): 其中说一下几个文件夹和文件 sta ...

  8. 抓包工具fiddler使用-初级

    参考 https://kb.cnblogs.com/page/130367/#introduce

  9. Java基础教程——Lambda表达式

    Lambda表达式 Java8引入Lambda表达式,可以使代码更简洁. 格式:参数,箭头,代码 (参数名)->{代码} Lambda表达式体现了"函数式编程思想"-- 面向 ...

  10. 【mq读书笔记】mq索引文件刷盘

    索引文件的刷盘并不是采取定时刷盘机制,而是每更新一次索引文件就会将上一次的改动刷写到磁盘. 同步刷盘: GroupCommitRequest将被提交到GroupCommitService线程,Grou ...