ADF 第五篇:转换数据

摘要:
AzureDataFactory系列博客:ADF第1部分:AzureDataFactory简介ADF第2部分:使用UI创建数据工厂ADF第3部分:Integrationruntime和LinkedServiceADF第4部分:管道执行和触发器ADF第5部分:转换数据ADF第6部分:CopyDataActivity详细信息ADF第7部分:控制流概述ADF第8部分:传输参数和应用表达式映射数据流是转换数据的过程,数据流的结构分为源、转换和汇,这与SSIS的数据流非常相似。转换组件是数据流的核心组件。每个转换组件都有输入和输出,接收上一路径上的组件输入的数据,并输出下一路径上组件的数据。

Azure Data Factory 系列博客:

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

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

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

一,创建映射数据流面板

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

ADF 第五篇:转换数据第1张

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

ADF 第五篇:转换数据第2张

二,为数据流组件添加Source

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

 ADF 第五篇:转换数据第3张

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

1,Source setting 面板

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

ADF 第五篇:转换数据第4张

2,Optimize 面板

Optimize 选项卡 用于设置分区架构,可以设置Partition option、Partition type和 Number of partitions,分区会优化数据流的性能。

ADF 第五篇:转换数据第5张

3,Inspect面板

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

ADF 第五篇:转换数据第6张

三,添加转换功能

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

ADF 第五篇:转换数据第7张

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”设置为启用:

ADF 第五篇:转换数据第8张

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

2,添加数据流Activity

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

ADF 第五篇:转换数据第9张

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

ADF 第五篇:转换数据第10张

3,监控数据路

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

ADF 第五篇:转换数据第11张

参考文档:

Transform data using mapping data flows

免责声明:文章转载自《ADF 第五篇:转换数据》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇JAVA学习总结(四)MFC常见问题解惑下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

GAN作用——在我做安全的看来,就是做数据拟合、数据增强

from:https://www.zhihu.com/question/56171002/answer/155777359GAN的作用,也就是为什么GAN会火了(有部分原因可能是因为Lecun的赞赏)。如果GAN只是用来生成一些像真是数据一样的数据的话,那不会有像现在这么火。更多的,或者对于机器学习研究员来说,看待的最关键一点应该是GAN可以用来 拟合数据...

mui框架(二)

1.底部导航切换界面 HTML部分: <nav class="mui-bar mui-bar-tab"> <a id="defaultTab" class="mui-tab-item mui-active" href="a.html"> <span class="mui-icon mui-icon-...

使用SyncNavigator轻松实现数据库异地同步、断点续传、异构同步

最近一直在研究数据库同步的问题,在网上查了很多资料,也请教了很多人,找到了一种通过快照复制的方法。研究了一番后发现之前就是用的这个方法,效果不是很好,果断放弃。经过了一番寻觅和他人指点,最后从一位热心网友那里得知一款很好用的软件—— SyncNavigator。 好东西就要拿出来跟大家分享,所以今天向大家介绍一下这款软件,及其一些使用方法。下面先看看它有...

【原创】字典攻击教务处(BurpSuite使用)

0x00 本例使用Burp Suite跑字典爆破教务处登录。 使用账户名:yanjiushengdadui 本示例将结合说明Burp Suite的基本使用。 0x01 BurpSuite代理配置 浏览器代理配置。 本例使用Firefox浏览器。 进入浏览器的【选项】-->【高级】-->【网络】-->【设置】 选中【手动配置代理】,在H...

Hive/Impala批量插入数据

问题描述 现有几千条数据,需要插入到对应的Hive/Impala表中。安排给了一个同事做,但是等了好久,反馈还没有插入完成……看到他的做法是:对每条数据进行处理转换为对应的insert语句,但是,实际执行起来,速度很慢,每条数据都要耗时1s左右。比在MySQL中批量插入数据慢多了,因而抱怨Impala不太好用 问题分析 首先,必须明确的是,把每条数据处理成...

软考笔记第三天之数据库系统

三级模式-两级映射 数据库模型(概念模式[用户视图]、外模式[DBA视图]、内模式[内部视图]) 外模式-概念模式映射,概念模式-内模式映射 E-R模型,实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。 集成的方法: 多个局部E-R图一次集成。 逐步集成,用累加的...