Azure Data Factory(二)复制数据
一,引言
上一篇主要只讲了Azure Data Factory的一些主要概念,今天开始新的内容,我们开始通过Azure DevOps 或者 git 管理 Azure Data Factory 中的源代码,同时创建 Pipleline 将 Azure Blob1 的 Container 的数据通过 Copy Data 复制到 Azure Blob2的 Container中。我选择的是Azure DevOps 作为代码管理的工具
--------------------我是分割线--------------------
1,Azure Data Factory(一)入门简介
2,Azure Data Factory(二)复制数据
二,正文
1,Azure DevOps 创建项目
首先我们得在Azure DevOps 上创建一个项目
Azure DevOps 地址:dev.azure.com,点击 “Sign in to Azure DevOps” 进行登陆,首次登陆的话,需要新创建一个组织,这里我就不过多演示了。

输入项目名称 “CnBateBlogWeb_Proj”,选择项目的是否 “公开/私有”,点击 “+ Create project” 进行创建项目。

我们可以看到项目的Repos信息,复制当前项目的Git仓库地址链接备用

2,创建 Azure Blob 存储和Azure Data Factory
Azure Portal 中点击 “Create a resource”,选择 “Storage Account” 进行创建数据源以及目标源
Storage account name:“cnbateblogwebaccount1dev”
Location:“East Aisa”
"Performance":“Standard”
Account kind:“BlobStorage”
其他的选择默认,点击 “Review + create” 进行创建预校验。

校验成功后,点击 “Create” 进行创建操作

接下来,使用同样的步骤创建目标源Storage Account----- "cnbateblogweb2dev"

cnbateblogweb1dev 的 Azure Blob Storage 初始化数据,选择 “Blob service =》Containers” ,点击“+ Container” 添加 Container

Name 输入 “resformfoler” 其他选择默认,点击 “Create” 进行创建。

点击进去当前 “resformfolder” 容器

选择上传,我这里只是作为演示上传一个 txt 文本文件,实际项目中当前数据应该为 Azure Factory 的数据源。

以下是我上传的文件----“AZ-300考试说明.txt”

回到 ”cnbateblogwebaccount2dev“ 中,新建容器-----”restofolder“

最后,创建搜索 “Data Factory”

Resource group 选择 :“Web_Test_DF_RG”
Region :‘East Asia“
Name:”ADF-CnBateBlogWeb-Dev“
其他选择默认,点击 ”Next:Git configuration“ 配置 git 代码管理信息

选择 “Configure Git later”,稍后进行配置,点击 ”Review+create“ 进行创建预校验

建议完成后,点击 ”Create“ 进行创建

3,配置 Azure Data Factory
配置 Azure DevOps
点击进去新创建的叫 ”ADF-CnBateBlogWeb-Dev“,点击图中圈起来的 ”Author & Montor“ 跳转到作业和监控页面

点击图中箭头指向的地方,进行先配置代码管理设置

选择 ”Source control =》Git configuration“ ,点击 ”Set up code repository“ 进行配置

选择 ”Azure DevOps Git“

选择Azure DevOps 所在目录

选择账号 ”allenMaster“

选择项目 ”CnBateBlogWeb_Proj“

Git repository name 选择:”Use existing“(使用现有),也就是”CnBateBlogWeb_Proj“
Collaboration branch(协作分支):”master“
Publish branch(发布分支):”adf_publish“
其他选择默认后,点击 ”Apply“ 进行应用

设置完毕后,会弹出,需要让我们设置 Azure Data Factory 的工作分支,我们选择 ”Use existing“,选择 ”master“ 进行保持操作

配置 Data Factory Pipeline

首选,我们需要新建分支,就如同我们写代码一样,都新建自己的 ”feature branch“。经开发,测试完成后,再 "merge" 到 "master" 分支。Azure Data Factor 也是一样,我们需要有一个很规范的操作流程。
点击 "+ New branch",进行新创建分支

输入分支名称 ”allen/Feature-1“,点击 ”Save“ 进行保存操作。

可以看到当前工作环境在我们自己的”allen/Feature-1“ 开发分支上

点击图中的 ”+“ ,先添加 pipeline 信息

可以看到图中,我们可以更改 pipeline 的名称,我这里就不再进行修改,继续使用默认的名称 ”pipeline1“,在 ”Activities(活动)“ 下的搜索框搜索 ”Copy Data“ 具体的活动,然后将 ”Copy Data“ 拖拽到 pipeline 设计器的图中。关于Name,我们可以进行改名操作。这里我也不进行改名操作。

配置 Data Factory DataSets
点击 ”Source“ 切换到设置数据源页面,点击 ”+ New“ 添加新的数据源。

选择 ”Azure Blob Storage“,点击 ”Continue“

选择”Binary(二进制)“文件,点击 ”Continue“

将 Name 修改为 ”FromBinaryData“,Linked service(链接服务)选择创建新的:”+ New“

关于配置链接服务
Name 修改为:”CnBateFromBlobStorage“
Azure subscription 选择 之前创建 Blob Storage 的订阅
Storage account name 选择:”cnbateblogwebaccount1dev“
点击 ”Create“ 进行创建,确认。

创建好链接服务后,我们需要设置其 ”File path(文件路径)“,点击图中箭头所指的位置,进行设置

点击 ”resformfolder“ 选择容器,点击 ”OK“ 进行确认操作(我们不需要设置具体的某个文件,我们的目标就是将 ”resformfoler“ 当前容器下的所有文件 复制到目标源的容器中)

设置完成后,点击 ”OK“ 进行确认

同时,我们设置完成后,打开进行测试刚刚设置的链接服务,以保证能正常,成功的连接到 Blob Storage。

最后,回到 pipeline中,选择 "Sink",设置目标源,几乎是同样操作,我们需要将 "cnbateblogwebaccount2dev" 设置为目标源,具体参数,请看下图

设置完毕后,我们回到pipeline1 中,点击 ”Save all“ 进去全部保存操作。

Data Factory 的验证、测试
接下来,我们要对 ADF 中配置的 pipeline 进程校验操作,点击 ”validate all“,可以看到右边现在未发现错误

最后,就是调试,手动点击 ”Debug“ 进行测试pipiline,同时可以在底部看到输入当前pipeline 运行状态。

同时,我们也可以看到在 ”cnbateblogwebaccount2dev“ 这个Blob Storage 的 ”restofolder“ 这个容器中也出现了之前在数据源 Blob Storage 的 ”resformfolder“ 容器中的文件

测试完毕后,我们可以将当前自己分支上的代码合并到 ’master” 分支,并进行分布操作

输入当前合并分支的Title,已经完成/修改了那些功能等,这些操作我就不一一演示了,大家可以对照自己实际开发工程中关于代码提交的流程,点击“Create”

先进行同意此次 合并请求,再点击 完成合并请求

点击 “Complete merge” 完成合并操作

测试,我们通过代码,也可以看到当前master 分支上已经有了我们开发好,验证好的代码

回到Azure Data Factory 中,提到 “allen/Feature-1” 分支不存在,让我们重新选择工作的分支,(因为刚刚在合并代码的时候,我们勾选了“合并后删除此分支”的选项)我们继续选择 “master” 分支

切换到 “master” 分支后,就需要进行发布操作(注意,我们确保合并到master 分支的代码是完全校验过,测试过的),发布完成后,其实当前Data Factory 的pipiline 是不会不会进行触发的,除非我们进行,手动 “Debug”/设置 “trigger”

点击 “Add trigger” 设置触发器
Name:“CtriggernBate_CopyData_Trigger”
Type 选择:“Schedule”
Start date "11/02/2020 3:40 PM"
time zone(时区):“UTC+8”
Recurrence 设置为 每5分钟 循环一次
勾选 ”Specify an end date(指定截至日期)“
End on(截至):”11/02/2020 4:00 PM“
点击 ”OK“ 进行添加,保存操作

设置完触发器后,再进行发布操作

最后,我们可以看到当前pipeline的运行状态

OK,今天的分享到此结束,*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。(由于时间的关系,集成CI/CD放到下一篇进行讲解)
三,结尾
今天实地的演示了一下将 Blob Storage1 容器中的数据通过Azure Data Factory 复制到 Blob Storage2 容器中,同时也很粗糙的使用Azure DevOps 作为 ADF的代码管理工具。通过验证,测试将开发好的分支代码合并到master分支上,在通过master 分支进行发布pipeline。最近经过设置Trigger,进行发布,定时进行触发pipeline,经过 监视器观察每次管道运行状态。
作者:Allen
版权:转载请在文章明显位置注明作者及出处。如发现错误,欢迎批评指正。
Azure Data Factory(二)复制数据的更多相关文章
- Azure Data Factory(一)入门简介
一,引言 今天分享一个新的Azure 服务-----Azure Data Factory(Azure 数据工厂),怎么理解,参考根据官方解释-----数据工厂解释:大数据需要可以启用协调和操作过程以将 ...
- Azure Data Factory(三)集成 Azure Devops 实现CI/CD
一,引言 由于上一节文章内容过长,无法分享Azure Data Factory 的持续集成,持续发布.今天将着重介绍一下在使用 Azure DevOps Pipeline 发布,自动进行持续集成,并且 ...
- Azure Data Factory(四)集成 Logic App 的邮件通知提醒
一,引言 上一篇有介绍到使用Azure Data Factory 复制数据,然后有集成 Azure DevOps 实现CI/CD,但是对于真正的项目来说,这些肯定是不够的,比如说在执行 Azure P ...
- Azure Data Factory(五)Blob Storage 密钥管理问题
一,引言 之前讲解的ADF 集成Azure DevOps 实现CI/CD,在 Releases Pipeline 阶段,我们是将两个 Blob Storage 的链接字符串复制.粘贴到 "O ...
- ADF 第一篇:Azure Data Factory介绍
Azure Data Factory(简写 ADF)是Azure的云ETL服务,简单的说,就是云上的SSIS.ADF是基于云的ETL,用于数据集成和数据转换,不需要代码,直接通过UI(code-fre ...
- 徒手打造基于Spark的数据工厂(Data Factory):从设计到实现
在大数据处理和人工智能时代,数据工厂(Data Factory)无疑是一个非常重要的大数据处理平台.市面上也有成熟的相关产品,比如Azure Data Factory,不仅功能强大,而且依托微软的云计 ...
- Azure Data Lake(一) 在NET Core 控制台中操作 Data Lake Storage
一,引言 Azure Data Lake Storage Gen2 是一组专用于大数据分析的功能,基于 Azure Blob Storage 构建的.Data Lake Storage Gen2 包含 ...
- 构建企业级数据湖?Azure Data Lake Storage Gen2不容错过(上)
背景 相较传统的重量级OLAP数据仓库,“数据湖”以其数据体量大.综合成本低.支持非结构化数据.查询灵活多变等特点,受到越来越多企业的青睐,逐渐成为了现代数据平台的核心和架构范式. 数据湖的核心功能, ...
- Azure Storage 利用 azCopy 复制迁移数据
一,引言 前两天遇到了Azure Blob Storage 需要迁移到另外的一个 Azure Blob Storage 中.手动下载.上传已经无法满足了,得另寻一种方式了 AzCopy.Azure 为 ...
随机推荐
- 结合 Shell 对 Koa 应用运行环境检查
在开发环境中,启动一个koa 应用服务,通常还需要同时启动数据库.比如.Mongodb.mysql 等 如果一直开着数据库服务,在不使用的话,电脑会占一定的性能.然而如果每次手动去启动服务,效率又不高 ...
- Java知识系统回顾整理01基础01第一个程序01JDK 安装
一.首先第一步看JDK配置成功后的效果 点WIN键->运行(或者使用win+r) 输入cmd命令 输入java -version 注: -version是小写,不能使用大写,java后面有一个空 ...
- 头文件afx.h作用
转载:https://blog.csdn.net/OnceMonkeyG/article/details/95723290 一些定义与设置,为MFC提供最基本支持,将各种松散的东西组织起来,同时为MF ...
- ThreeJS系列1_CinematicCameraJS插件详解
ThreeJS系列1_CinematicCameraJS插件详解 接着上篇 ThreeJS系列1_CinematicCameraJS插件介绍 看属性的来龙去脉 看方法作用 通过调整属性查看效果 总结 ...
- 拜托,别再问我怎么自学 Java 了!和盘托出
假如有那么残酷的一天,我不小心喝错了一瓶药,一下子抹掉了我这十多年的编程经验,把我变成了一只小白.我想自学 Java,并且想要找到一份工作,我预计需要 6 个月的时间,前提条件是每天都处于高效率的学习 ...
- vue项目打包-2-九五小庞
vue项目打包 一.终端运行命令 npm run build 二.打包成功的标志与项目的改变,如下图: 3.点击index.html,通过浏览器运行,出现以下报错,如图: 四.那么应该如何修改呢?具体 ...
- 《流畅的Python》第三部分 把函数视作对象 【一等函数】【使用一等函数实现设计模式】【函数装饰器和闭包】
第三部分 第5章 一等函数 一等对象 在运行时创建 能赋值给变量或数据结构中的元素 能作为参数传递给函数 能作为函数的返回结果 在Python中,所有函数都是一等对象 函数是对象 函数本身是 func ...
- object-fit 详解
contain 被替换的内容将被缩放,以在填充元素的内容框时保持其宽高比. 整个对象在填充盒子的同时保留其长宽比,因此如果宽高比与框的宽高比不匹配,该对象将被添加"黑边". cov ...
- spring-boot-route(十五)整合RocketMQ
RocketMQ简介 RocketMQ是阿里巴巴开源的消息中间件.目前已经贡献给Apache软件基金会,成为Apache的顶级项目. rocketMQ基本概念 1. Producer Group 生产 ...
- java性能分析之火焰图
原由 最近因为kafka.zookeeper.ES和相关的Java应用的内存问题搞的头大,做运维将近4年,对Java调优.性能方面的知识了解的少之又少,是时候下定决心来对他多一个学习了.不能一口吃成一 ...