一,引言

  上一篇文字,我们初步对 Data Flow 有个简单的了解,也就是说可以使用 Data Flow 完成一些复杂的逻辑,如,数据计算,数据筛选,数据清洗,数据整合等操作,那我们今天就结合 Data Flow 中的常用数据转换逻辑拉演示在实际场景中如何实现。

Task1:将数据源的数据进行分组 去重

Task2:去重后的数据进行筛选,过滤

Task3:根据筛选、过滤后的数据派生出新的备注列

Task4:将以上处理过的数据写入到新的 CSV 文件中

--------------------我是分割线--------------------↳

1,Azure Data Factory(一)入门简介

2,Azure Data Factory(二)复制数据

3,Azure Data Factory(三)集成 Azure Devops 实现CI/CD

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

5,Azure Data Factory(五)Blob Storage 密钥管理问题

6,Azure Data Factory(六)数据集类型为Dataverse的Link测试

7,Azure Data Factory(七)数据集验证之用户托管凭证

8,Azure Data Factory(八)数据集验证之服务主体(Service Principal)

9,Azure Data Factory(九)基础知识回顾

10,Azure Data Factory(十)Data Flow 组件详解

11,Azure Data Factory(十一)Data Flow 的使用解析

二,正文

 准备数据源 

登录到 Azure Portal ,在已有的 storage account 上的 sourcecontainer 上传 csv 文件,如下图所示

使用 DataFlow 进行数据筛选处理

点击 左侧 Data Flow ... “new data flow” 创建新的 Data Flow

Name:“FromAzureBlob_DataFlow”

首先添加数据源 “source1”,Dataset 类型选择 “FormAzureBlob”(数据源来自 Azure Blob)

点击 ”Import projection“ 导入整个 csv 文件的架构

点击 “Refresh” 可以预加载数据

接下添加 “Aggregate” 分组组件,以 ”NAME“ 作为分组依据,其他字段取 max(value)

点击 Data preview 页面的 ”Refresh“ 进行刷新操作

添加 ”Filter“ 组件进行过滤 AGE >30 & AGE<=30,同时需要注意,两个 filter 的数据源都得是 ”aggregate1“

Incoming stream:aggregate1

Filter On:AGE > 30

Incoming stream:aggregate1

Filter On:AGE <= 30

根据 AGE 派生出新的列  REMARK

AGE >30

AGE <= 30

使用 ”union“ 将两组拆分计算好的逻辑的整合

最后,使用 ”sink“ 将数据写入到新的目标数据集中

Settings 页面设置,将数据整合成一个文件输出

Mapping 关于如下图所示

测试

新建 pipeline,添加 Data Flow 组件,输入以下参数

Settings =》Data flow 选择 ”FromAzureBlob_DataFlow“

点击 ”Debug“ 进行调试,可以看到 ouput 输出中的 dataflow 允许程序

冷知识:Data Flow 所使用的 Azure IR 为 ”AutoResolveIntegrationRuntime“ 也就是微软托管机器,需要经历 创建、启动的过程

最后,我们打开新的 csv 文件,查询刚刚在 data flow 中编写的数据清洗的逻辑是否正常

找到 ”targetcontainer“ ,点击进去 container 内部

以下是输入的新的 csv 文件

三,结尾

  今天我们通过一些了操作演示,展示了 Azure Data Flow 对数据的处理,绝大多数的数据处理,通过这些丰富的组件就可以轻松完成分析、计算任务。从而提高数据处理效率和质量

参考连接:Azure 数据工程中的的映射数据流

作者:Allen

版权:转载请在文章明显位置注明作者及出处。如发现错误,欢迎批评指正。

 
 

Azure Data Factory(十一)Data Flow 的使用解析的更多相关文章

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

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

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

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

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

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

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

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

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

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

  6. ADF 第一篇:Azure Data Factory介绍

    Azure Data Factory(简写 ADF)是Azure的云ETL服务,简单的说,就是云上的SSIS.ADF是基于云的ETL,用于数据集成和数据转换,不需要代码,直接通过UI(code-fre ...

  7. 徒手打造基于Spark的数据工厂(Data Factory):从设计到实现

    在大数据处理和人工智能时代,数据工厂(Data Factory)无疑是一个非常重要的大数据处理平台.市面上也有成熟的相关产品,比如Azure Data Factory,不仅功能强大,而且依托微软的云计 ...

  8. Azure SQL 数据库仓库Data Warehouse (3) DWU

    <Windows Azure Platform 系列文章目录> 在笔者的上一篇文章中:Azure SQL 数据库仓库Data Warehouse (2) 架构 介绍了SQL DW的工作节点 ...

  9. OCM_第二十天课程:Section9 —》Data Guard _ DATA GUARD 搭建/DATA GUARD 管理

    注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...

  10. OCM_第十九天课程:Section9 —》Data Guard _ DATA GUARD 原理/DATA GUARD 应用/DATA GUARD 搭建

    注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...

随机推荐

  1. 文心一言 VS 讯飞星火 VS chatgpt (109)-- 算法导论10.1 7题

    七.用go语言,说明如何用两个队列实现一个栈,并分析相关栈操作的运行时间. 文心一言: 在Go语言中,我们可以用两个队列(queue1和queue2)实现一个栈.以下是实现代码: package ma ...

  2. Java虚拟机(JVM):第四幕:自动内存管理 - 经典垃圾收集器

    前言:如果说收集算法是内存回收的方法论,那么垃圾收集器则是内存回收的实践者.整哥Java堆 :Full GC. 1.Serial收集器:最基础.历史最悠久的收集器,这是一个单线程工作的收集器. 2.P ...

  3. 两台实体机器4个虚拟机节点的Hadoop集群搭建(Ubuntu版)

    安装Ubuntu Linux元信息 两台机器,每台机器两台Ubuntu Ubuntu版本:ubuntu-22.04.3-desktop-amd64.iso 处理器数量2,每个处理器的核心数量2,总处理 ...

  4. 装箱问题(lgP1049)

    01背包问题. 与模板不同,这道题要求的是最小剩余空间,也就是求背包里最多能放多少东西. 所以状态转移方程变为 fi= fi - w[i] + wi . 其中 fi 表示当背包容量为 i 时可放的最大 ...

  5. Net 高级调试之三:类型元数据介绍(同步块表、类型句柄、方法描述符等)

    一.简介 今天是<Net 高级调试>的第三篇文章,压力还是不小的.上一篇文章,我们浅浅的谈了谈 CLR 和 Windows 加载器是如何加载 Net 程序集的,如何找到程序的入口点的,有了 ...

  6. WebSocket connection to 'ws://127.0.0.1:8089/websocket/0,1,10,admin' failed:

    WebSocket连接失败 背景: 相同项目数据库从mysql变更到sqlite,代码层面基本没有变更,但是WebSocket连接失败,查找多方原因,未找到问题,最后发现新项目JDK为OpenJDK, ...

  7. 探究-ping指令的使用

    简介: 背景:一直以来在项目上经常使用ping指令来测试网络通信,最近稍微研究了一下常用的指令,记录以作备忘.--MaQaQ 2023-11-1 ping (Packet Internet Grope ...

  8. mybatis 操作 mysql 动态创建数据表

    Map 数据一般是根据需求生成的,例如 map.put("ticketId",176),map.put("ticketName","测试工单" ...

  9. 文心一言 VS 讯飞星火 VS chatgpt (128)-- 算法导论11.1 3题

    三.用go语言,试说明如何实现一个直接寻址表,表中各元素的关键字不必都不相同,且各元素可以有卫星数据.所有三种字典操作(INSERT.DELETE和SEARCH)的运行时间应为O(1)(不要忘记 DE ...

  10. 开源一套快速部署程序的工具(CI/CD)

    随着微服务越写越多,程序发布就成了一个麻烦事,所以写了一个部署工具 Vela,只要填写一个git地址.编译命令等简单信息,就能自动完成程序的部署. Vela 特性: 代码可在任意一台电脑自动完成编译, ...