Azure Data Factory 系列博客:html
Azure Data Factory(简写 ADF)是Azure的云ETL服务,简单的说,就是云上的SSIS。ADF是基于云的ETL,用于数据集成和数据转换,不须要代码,直接经过UI(code-free UI)来设计,可进行直观监控和管理。用户还能够把现有的SSIS packages部署到Azure,并和ADF彻底兼容地运行。网络
在大数据的世界中,原始的、无结构的数据一般存在在关系型、非关系型和其余存储系统中,因为原始数据没有适当的上下文含义,没法被数据分析师、数据科学家提供有意义的insights。数据结构
ADF可以处理海量的数据,对这些原始数据进行处理和提炼,得到有用的信息和洞察。Azure Data Factory 建立Pineline,从不一样的数据源(如:Azuer Storage,File, SQL DataBase,Azure Data Lake等)中提取数据,对数据进行加工处理和复杂计算后,把这些有价值的数据存储到不一样的目标存储(如:Azuer Storage,File, SQL DataBase,Azure Data Lake等)上,供数据分析师或数据科学家进行分析。并发
Azure 数据工厂是基于云的数据集成服务,用于在云中建立数据驱动型工做流,以便协调和自动完成数据移动和数据转换。 使用 Azure 数据工厂可执行如下任务:app
ADF 包含一系列的相互链接组件,为数据工程师提供完整的端到端(end-to-end)的平台。Azure 数据工厂中的管道(数据驱动型工做流)一般执行如下三个步骤:工具
1,链接和收集oop
企业有不一样类型的数据,这些数据位于不一样的源中,好比on-permises,云上的,有结构的、无结构的,而且以不一样的间隔和速度到达。构建信息生成系统的第一步是链接到全部必需的数据源,对数据进行处理,这些源包括:SaaS 服务、文件共享、FTP、Web 服务,而后,把须要的数据移到中心位置进行后续处理和分析。大数据
若是没有ADF,那么企业就必须建立自定义的数据移动组件或编写自定义的服务,以便集成这些数据源并进行处理。集成和维护此类系统既昂贵又困难,这些系统一般还缺少企业级监视、警报和控制,而这些功能是彻底托管的服务可以提供的。可是借助ADF,用户能够在pipeline中使用“Copy Activity”,把数据从本地和云的源数据存储转移到云上的集中数据存储,进行进一步的分析。编码
2,转换和扩充spa
把数据集中到云上的数据存储之后,使用ADF映射数据流处理或转换数据,数据流使数据工程师可以构建和维护数据转换,而无需了解Spark集群或Spart变成。若是用户喜欢手工编码转换,那么ADF支持外部活动(External Activity),以在HDInsight Hadoop,Spark,Data Lake Analytics和Machine Learning等计算服务上执行转换。
3,发布
ADF使用Azure DevOps和GitHub全面支持Pipeline,在发布最终版本以前进行迭代式的开发。把原始数据精炼成可用于商业分析的数据以后,用户能够把转换的数据从云上的存储传送到本地源(例如 SQL Server),也可将其保留在云存储源中,供 BI 和分析工具及其余应用程序使用。
4,Source Control 和 Monitor
ADF内置监控器,用于监控ADF中的活动(Activity)和Pipeline的成功率和失败率。
V2版本的ADF具备GitHub和DevOps的source control功能。
ADF 由下面4个关键组件构成:
ADF的4个关键组件之间的关系:
1,管道(Pipeline)
数据工厂包含一个或多个Pipeline,管道是Activity的逻辑分组,一个管道做为一个工做单元,管道中的Activity做为一个总体来执行任务。管道中的Activity对数据执行动做。
管道使用户能够把多个Activity做为一个总体进行管理,而没必要单独管理每一个Activity,管道中的Activity能够链接在一块儿按照顺序串联执行,也能够单独以并发方式执行。
2,活动(Activity)
管道能够包含一个或多个活动,活动定义对数据执行的操做,是Pipeline中的一个步骤。 例如,用户可使用Copy Activity把数据从一个数据存储复制到另外一个数据存储。ADF支持三种类型的活动:数据移动活动、数据转换活动和控制流活动。
3,数据集(Datasets)
数据集代码数据存储中的数据结构,这些结构指向或引用在活动中使用的数据(输入或输出),也就是说,一个活动使用零个或多个数据集做为输入,使用一个或多个数据集做为输出。
数据集(Dataset)相似于数据的视图,只是简单地指向或引用在活动中用做输入的数据源或者用做输出的数据目标。在建立Dataset以前,必须建立Linked Service,把数据链接到数据工厂。Linked Service 就像链接字符串,定义数据工厂如何和外部资源进行链接。而Dataset表明的是数据的结构(Schema),而Linked Service定义如何链接到数据。
4,链接(Connection)
链接有两种类型:Linked services 和 Integration runtimes,Linked services 是基于Integration runtimes的链接服务。
Integration runtime(IR) 是Azure 数据工厂在不一样的网络环境中进行数据集成的组件,
链接服务(Linked services )相似于链接字符串,用于定义ADF链接到外部资源时所须要的链接信息,链接服务定义如何链接到外部数据源,而数据集表明外部源数据的结构。
5,映射数据流(Mapped Data Flow)
在ADF V2版本中,新增了映射数据流组件,映射数据流用于数据转换,数据流做为Activity在管道中执行。 数据流使数据工程师无需编写代码便可开发数据转换逻辑。
6,其余组件
参数(Parameters)是一个只读的Key-Value对,参数定义在管道中,在管道执行时,参数传递到管道中的Activity中。
变量(Variable)用于在管道中存储临时值,并能够接收参数的值,把值传递到其余管道、数据流和Activity中。
参考文档: