使用azure-data factory

news/2024/11/20 21:24:48/

data-fatory介绍

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

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

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

1,连接和收集

然后,把需要的数据移到中心位置进行后续处理和分析。

借助ADF,用户可以在pipeline中使用“Copy Activity”,把数据从本地和云的源数据存储转移到云上的集中数据存储,进行进一步的分析。

2,转换和扩充

把数据集中到云上的数据存储以后,使用ADF映射数据流处理或转换数据,数据流使数据工程师能够构建和维护数据转换,而无需了解Spark集群或Spart变成。如果用户喜欢手工编码转换,那么ADF支持外部活动(External Activity),以在HDInsight Hadoop,Spark,Data Lake Analytics和Machine Learning等计算服务上执行转换。

3,发布

也可将其保留在云存储源中,供 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)

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

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

2,活动(Activity)

支持三种类型的活动:数据移动活动、数据转换活动和控制流活动。

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

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中。

实例流程

3.1 创建data-factory

a.在AZURE上添加data-factory
在这里插入图片描述

创建完成
在这里插入图片描述

b.创建数据复制任务前置条件(资源组blob)
点击教程这里进入template创建
在这里插入图片描述

采用data factory copy data tool模板。创建azure blob用于存储文件
在这里插入图片描述

创建完成

在这里插入图片描述

c.创建data-factory复制任务

启动工作室

在这里插入图片描述

支持4种ELT任务
在这里插入图片描述

选择引入创建复制任务
在这里插入图片描述

设置数据源为模板中的csv文件
在这里插入图片描述

设置target文件夹
在这里插入图片描述

执行
在这里插入图片描述

数据转移至目标目录

参考

ADF简介:
https://www.likecs.com/show-305764057.html#sc=200

创建 Azure 数据工厂 - Azure Data Factory | Microsoft Learn
https://learn.microsoft.com/zh-cn/azure/data-factory/quickstart-create-data-factory

使用复制数据工具复制数据 - Azure Data Factory | Microsoft Learn
https://learn.microsoft.com/zh-cn/azure/data-factory/quickstart-hello-world-copy-data-tool


http://www.ppmy.cn/news/740.html

相关文章

(论文阅读笔记)Network planning with deep reinforcement learning

[1] ZHU, Hang, et al. Network planning with deep reinforcement learning. In: Proceedings of the 2021 ACM SIGCOMM 2021 Conference. 2021. p. 258-271. Citation: 25文章目录Q1 论文试图解决什么问题?Q2 这是否是一个新的问题?Q4 有哪些相关研究&…

一个分布在多次Softmax后,会趋于相同

本文其实是我在知乎上无意中翻到的一条提问:softmax到底有哪些作用?,其中苏剑林大佬关于第四个问题的回复,给我产生了一些思考。为什么一个分布在多次Softmax之后,每个值会趋于相同?例如[1,100]在大约10次S…

LeetCode-50-Pow(x, n)

1、递归 我们最简单的思路就是使用递归,每次就让x乘上Pow(x, n-1)的值。但是这样做的缺点在于递归时间过长会导致超时,因此我们可以使用快速幂进行优化。 快速幂的思想在于我们在求x的N次幂时,不使用x∗xN−1x*x^{N-1}x∗xN−1,…

我们真的需要把训练集的损失降到零吗?

在训练模型的时候,我们需要将损失函数一直训练到0吗?显然不用。一般来说,我们是用训练集来训练模型,但希望的是验证机的损失越小越好,而正常来说训练集的损失降到一定值后,验证集的损失就会开始上升&#x…

Day2多种抓包工具介绍以及使用封包监听工具找到挑战数据包实现发送数据包进行挑战

工具相关证书安装指南 Charles https://blog.csdn.net/weixin_45459427/article/details/108393878 Fidder https://blog.csdn.net/weixin_45043349/article/details/120088449 BurpSuite https://blog.csdn.net/qq_36658099/article/details/81487491 Fiddler: 是一…

Markdown格式表情包大全最新整理分享

Markdown表情包一、前言❤️二、Emoji表情大全👮People(人物)❄️Nature(自然)🔔Objects(物体)🏠Places(地点)🔟Symbols(符…

前端面试题集锦(1)

1、 rem em vw vw 百分比区别 2、app怎么做适配的 3、bfc是什么,清除浮动的原理 4、简单的一个盒子移动到另一个盒子,你用什么方式实现动画效果 5、css 选择器有哪些,权重是什么样的 6、CSS选择符有哪些?哪些属性可以继承&am…

面试:Android中的HOOK方案

Hook方案很多 方案作用时机操作对象优点缺点要求APT编译时:java文件还未编译成class文件.java文件1.可以织入所有类;2.编译时代理,减少运行时消耗1.需要使用apt编译器编译;2.需要手动拼接代理代码(可以使用Javapoet弥补&#xff…