Azure Data Factory(简写 ADF)是Azure的云ETL服务,简单的说,就是云上的SSIS。ADF是基于云的ETL,用于数据集成和数据转换,不需要代码,直接通过UI(code-free UI)来设计,可进行直观监控和管理。用户还可以把现有的SSIS packages部署到Azure,并和ADF完全兼容地运行。

一,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 数据工厂可执行以下任务:

  • 创建管道(Pipeline),以便从不同的数据存储中提取数据。
  • 处理和转换原始数据,获得一个结构化的数据。
  • 把处理之后的数据发布到数据存储(例如 Azure Synapse Analytics),供商业智能 (BI) 应用程序使用。

二,ADF的工作原理

ADF 包含一系列的相互连接组件,为数据工程师提供完整的端到端(end-to-end)的平台。Azure 数据工厂中的管道(数据驱动型工作流)通常执行以下三个步骤:

1,连接和收集

企业有不同类型的数据,这些数据位于不同的源中,比如on-permises,云上的,有结构的、无结构的,并且以不同的间隔和速度到达。构建信息生成系统的第一步是连接到所有必需的数据源,对数据进行处理,这些源包括:SaaS 服务、文件共享、FTP、Web 服务,然后,把需要的数据移到中心位置进行后续处理和分析。

如果没有ADF,那么企业就必须创建自定义的数据移动组件或编写自定义的服务,以便集成这些数据源并进行处理。集成和维护此类系统既昂贵又困难,这些系统通常还缺乏企业级监视、警报和控制,而这些功能是完全托管的服务能够提供的。但是借助ADF,用户可以在pipeline中使用“Copy Activity”,把数据从本地和云的源数据存储转移到云上的集中数据存储,进行进一步的分析。

2,转换和扩充

把数据集中到云上的数据存储以后,使用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的关键组件

ADF 由下面4个关键组件构成:

  • Pipelines
  • Activities
  • Datasets
  • 连接(Linked services和Integration runtimes)

ADF的4个关键组件之间的关系:

1,管道(Pipeline)

ADF包含一个或多个Pipeline,管道是Activity的逻辑分组,一个管道作为一个工作单元,管道中的Activity作为一个整体来执行任务。

管道使用户可以把多个Activity作为一个整体进行管理,而不必单独管理每个Activity,管道中的Activity可以连接在一起按照顺序串联执行,也可以单独以并发方式执行。

2,活动(Activity)

管道可以包含一个或多个活动,活动定义对数据执行的操作,是Pipeline中的一个步骤。 例如,用户可以使用Copy Activity把数据从一个数据存储复制到另一个数据存储。ADF支持三种类型的活动:数据移动活动、数据转换活动和控制流活动。

  • 数据移动活动:用于把数据从源数据存储赋值到接收数据存储,来自任何源的数据都可以写入到任何接收器。
  • 数据转换活动:用户对数据进行转换处理
  • 控制流活动:控制流负责对管道活动进行控制,包含按照顺序连接活动、在管道级别定义参数、进行循环控制等。

3,数据集(Datasets)

数据集代码数据存储中的数据结构,这些结构指向或引用在活动中使用的数据(输入或输出),也就是说,一个活动使用零个或多个数据集作为输入,使用一个或多个数据集作为输出。

4,连接(Connection)

连接有两种类型:Linked services 和 Integration runtimes,连接服务十分类似于连接字符串,用于定义ADF连接到外部资源时所需要的连接信息,连接服务定义如何连接到外部数据源,而数据集代表外部源数据的结构。

5,其他组件

参数(Parameters)是一个只读的Key-Value对,参数定义在管道中,在管道执行时,参数传递到管道中的Activity中。

变量(Variable)用于在管道中存储临时值,并可以接收参数的值,把值传递到其他管道、数据流和Activity中。

参考文档:

Azure Data Factory(英文)

Azure Data Factory(中文)

Azure Data Factory documentation

What is Azure Data Factory?

ADF 第一篇:Azure Data Factory介绍的更多相关文章

  1. Azure Data Factory(三)集成 Azure Devops 实现CI/CD

    一,引言 由于上一节文章内容过长,无法分享Azure Data Factory 的持续集成,持续发布.今天将着重介绍一下在使用 Azure DevOps Pipeline 发布,自动进行持续集成,并且 ...

  2. Azure Data Factory(四)集成 Logic App 的邮件通知提醒

    一,引言 上一篇有介绍到使用Azure Data Factory 复制数据,然后有集成 Azure DevOps 实现CI/CD,但是对于真正的项目来说,这些肯定是不够的,比如说在执行 Azure P ...

  3. Azure Data Factory(二)复制数据

    一,引言 上一篇主要只讲了Azure Data Factory的一些主要概念,今天开始新的内容,我们开始通过Azure DevOps 或者 git 管理 Azure Data Factory 中的源代 ...

  4. Azure Data Factory(五)Blob Storage 密钥管理问题

    一,引言 之前讲解的ADF 集成Azure DevOps 实现CI/CD,在 Releases Pipeline 阶段,我们是将两个 Blob Storage 的链接字符串复制.粘贴到 "O ...

  5. Azure Data Factory(一)入门简介

    一,引言 今天分享一个新的Azure 服务-----Azure Data Factory(Azure 数据工厂),怎么理解,参考根据官方解释-----数据工厂解释:大数据需要可以启用协调和操作过程以将 ...

  6. Golang学习-第一篇 Golang的简单介绍及Windows环境下安装、部署

    序言 这是本人博客园第一篇文章,写的不到位之处,希望各位看客们谅解. 本人一直从事.NET的开发工作,最近在学习Golang,所以想着之前学习的过程中都没怎么好好的将学习过程记录下来.深感惋惜! 现在 ...

  7. Python全栈开发之路 【第一篇】:Python 介绍

    本节内容 一.Python介绍 python的创始人为荷兰人——吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本 ...

  8. 第一篇 make与makefile介绍

    我们在Linux系统中学习C语言或者C++语言时,大多数时候只是用gcc命令或者g++命令在命令行进行简单的编译.链接即可得到最终的可执行文件,进一步即可验证所写C/C++语言的正确性.但是,在大型工 ...

  9. ADF 第二篇:使用UI创建ADF

    用户可以通过UI来创建ADF,在UI中创建ADF时,用户不需要下载单独的IDE,而仅仅通过 Microsoft Edge 或者 Google Chrome浏览器.用户登录Azure Portal,选择 ...

随机推荐

  1. efcore 学习

    新开一个博客来写一下ef core的学习过程 这个博客内容会跟着官网走 具体可见官网https://docs.microsoft.com/zh-cn/ef/core/get-started/?tabs ...

  2. pipe()管道通信

    管道 管道的概念: 管道是一种最基本的IPC机制,作用于有血缘关系的进程之间,完成数据传递.调用pipe系统函数即可创建一个管道.有如下特质: 1. 其本质是一个伪文件(实为内核缓冲区) 2. 由两个 ...

  3. 聊聊Spark的分区、并行度 —— 前奏篇

    通过之前的文章[Spark RDD详解],大家应该了解到Spark会通过DAG将一个Spark job中用到的所有RDD划分为不同的stage,每个stage内部都会有很多子任务处理数据,而每个sta ...

  4. 还是畅通工程(最小生成树 并查集 Prim Kruskal)

    Description 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离.省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只 ...

  5. 02、Hibernate开发步骤

    1.创建Hibernate配置文件(hibernate.cfg.xml) <?xml version="1.0" encoding="UTF-8"?> ...

  6. 在Linux中输入命令时打错并按了enter

    今天在Linux中输入命令时,打错一个单词了,之后出现一串串的~,按ESC也没用, 并在底部出现:quit<enter> to exit vim 解决办法: 按几下 esc 确保 vim ...

  7. kali 更新msf

    用leafpad打开,方便复制粘贴 leafpad /etc/apt/sources.list 然后复制下面的源覆盖原本的 deb http://mirrors.ustc.edu.cn/kali ka ...

  8. 仅一年工作经验成功跳槽字节跳动,腾讯并拿到字节的offer,全靠这份面经!

    前言 前几天由于工作的原因一直没怎么看私信,昨天在整理私信的时候看到了一个粉丝给我疯狂私信想要我帮忙整理一份大厂面经,说自己工作也有几年了想跳槽冲刺一下,但是不知道该怎么做好前期准备.我看到这个粉丝也 ...

  9. 常见的名片尺寸如何在CorelDRAW预设

    说到名片想必大家肯定不陌生,是我们生活中随处可见的物品,也是商家宣传必不可少的印刷物料.那么名片的尺寸是多少?我们做名片的时候该如何把握好名片的尺寸呢?在CDR中有专门的名片尺寸,下面小编就为大家简单 ...

  10. FL Studio CPU面板讲解

    在FL Studio中,其CPU面板主要是由CPU使用表.内存使用表和复音数这几个部分组成的.这些对刚接触这款音乐制作软件的同学来说是非常陌生的吧!因为不知道这些是什么,主要的作用是什么.所以小编这里 ...