【Azure Data Platform】ETL工具(7)——ADF copy data 详解

本文属于【Azure Data Platform】系列。
接上文:【Azure Data Platform】ETL工具(6)——重新认识Azure Data Factory
本文详细介绍ADF 核心组件之一——Copy Data

Copy Data Activity

Copy Data 这个活动,包含了6部分:常规(General),源(Source), 接收器(Sink), 映射(Mapping), 设置(Settings),用户属性(User Properties)

【Azure Data Platform】ETL工具(7)——ADF copy data 详解_第1张图片

常规

打了(*)号的意味者必填项。当然, 它有默认值,不过真正使用时不应该使用默认值。比如名称。
【Azure Data Platform】ETL工具(7)——ADF copy data 详解_第2张图片

然后注意对于那些要填入的项,可以把鼠标移去下图的符号中获取解释。
【Azure Data Platform】ETL工具(7)——ADF copy data 详解_第3张图片

上面的配置,也可以在源代码(JSON格式)中看到并调整,如下图点开【查看源代码】:
【Azure Data Platform】ETL工具(7)——ADF copy data 详解_第4张图片

红框部分就是图形化中的配置值,可以看到这些值是术语“policy”
【Azure Data Platform】ETL工具(7)——ADF copy data 详解_第5张图片

源和接收器

这两个就是数据源跟目标源的关系,初始界面很简单,可以选择现有的,或者使用【新建】来创建,随着项目越来越大,命名规范会变得非常重要,比如在我实践期间,比较随意地命名,最后发现很难从命名中快速定位自己想要的那个源或者接收器。

【Azure Data Platform】ETL工具(7)——ADF copy data 详解_第6张图片
【Azure Data Platform】ETL工具(7)——ADF copy data 详解_第7张图片
随后的界面会根据你选择的数据集,或者新建的源/接收器的种类而变更,因为有号称超过90种源,所以在这里就不一一演示了:
【Azure Data Platform】ETL工具(7)——ADF copy data 详解_第8张图片
【Azure Data Platform】ETL工具(7)——ADF copy data 详解_第9张图片

映射

映射是非常重要的一步,它用于调整源到接收器之间的数据关系。默认情况下,它是隐式映射,如果是不做改动,就像下图,那ADF会尽可能自己帮你一一对应。不过注意是“尽可能”而已。
【Azure Data Platform】ETL工具(7)——ADF copy data 详解_第10张图片
如果需要显式转换,比如源中的某个列名在接收器中需要被改名,或者源和接收器的结构不一致,那么就要用到显式转换。使用【新建映射】或者【导入架构】之后再调整来实现显式转换。

【Azure Data Platform】ETL工具(7)——ADF copy data 详解_第11张图片

设置

从其内容看得出它的功能更多是性能,安全方面的配置。

【Azure Data Platform】ETL工具(7)——ADF copy data 详解_第12张图片

  • 数据集成单元: Data Integration Units (DIUs),由于ADF运行在微软托管的资源上,不能直接修改硬件资源,可以通过DIUs进行一定程度的调整。1个DIU是CPU, 内存, 网络资源的整合,类似于SQL DW, SQL DB中的一些DWU, DTU的概念。但是没有一个准确的值,不过貌似也并不是非常重要。从下面两个图看出,DIU在自动模式下的值和非自动模式下的可选DIU值:【Azure Data Platform】ETL工具(7)——ADF copy data 详解_第13张图片
    【Azure Data Platform】ETL工具(7)——ADF copy data 详解_第14张图片
    但是点开里面的官方文档后,发现自动模式并不是总是从2开始的:
    【Azure Data Platform】ETL工具(7)——ADF copy data 详解_第15张图片
    对于大数据集来说,自动模式可能会更好,对于非常小的数据集,选择2 个DIUs会更省钱。

  • 复制并行度:定义了在copy data这个活动中,从源中读取数据或写到接收器中的最大并行连接数。至于用多大,这个估计只有具体问题具体分析才能回答了。

  • 容错:就是遇到错误时的跳过策略,按照具体情况而选择。

  • 启用日志记录:参考文档【Azure Data Platform】ETL工具(7)——ADF copy data 详解_第16张图片

  • 启用暂存
    这个选项可以把数据临时存储在Blob 上,可以借助SQL DW的Polybase功能优化导入性能。不过要记住这里是临时存储数据,一旦Copy Data活动完成之后,数据就会被清除掉。 而且在底层,它类似于使用两个copy data活动。这样可以节省了类似的第二个copy data活动,不过每个活动的执行都需要付费。

Copy Data处理过程

来个微软官网的图:
在这里插入图片描述

当你进行“原样”复制时,速度是很快的,直接从源到接收器。不过这样使用copy data活动就略显浪费,它还是很强大的。
比如需要把一个CSV导入SQL DB时, 需要把数据从人可识别的形式转换成机器可识别的bit/bytes(序列化),然后通过网络传输后变回数据(反序列化)再入库。

除了序列化和反序列化,还有压缩和解压,如果你传输一个压缩文件,不需要特意操作,copy data 活动会在你选择源文件的格式是zipped和接收器格式为unzipped时帮你自动解压或压缩。

总结

虽然说是详解,但是实际上更多只是概要介绍,所以接下来再用几篇文章来完成“详解”。本来打算在这里写监控,但是监控通常更多是管道级别,所以还是决定独立一篇。
下一文先介绍一下数据集和链接服务这个在ADF中的基础组件。【Azure Data Platform】ETL工具(8)——ADF 数据集和链接服务

你可能感兴趣的:(Azure,azure,etl,ADF)