《数据“科学家”必读》 | 创建自动化的数据处理水线

2023-11-10 23:10

本文主要是介绍《数据“科学家”必读》 | 创建自动化的数据处理水线,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作为一款致力于成为数字化企业「最强大脑」的服务,Azure Synapse Analysis高效高弹性的架构设计、简单易用的操作、强大的功能和澎湃的数据处理和分析能力,能够帮助我们解决与数据准备、数据管理、数据仓库、大数据和AI等方面有关的很多挑战。

我们将通过《数据“科学家”必读》系列文章带领大家全面体验Azure Synapse Analysis。本系列共分为六期内容,本篇是其中的第五期:

  1. 第一次亲密接触:开箱初体验,概括了解Azure Synapse Analysis的功能与价值;

  2. 围绕Cosmos DB自行DIY的Azure Synapse Analysis解决方案;

  3. Azure Synapse Analysis与Azure Function服务的配合使用;

  4. 通过增量数据CDC对Azure Synapse Analysis中的数据进行更新;

  5. 借助Azure Data Factory工具实现数据处理水线的自动化操作

  6. 借助Synapse Link的一键同步省略ETL过程,实现最新数据的直接访问。

在上一期内容中,我们已经介绍了如何在Azure Data Warehouse中拉入增量数据CDC(Change Data Capture),并对Azure Data Warehouse现有数据进行更新。本期,我们将介绍如何通过Data Factory工具将整个数据水线自动化。

我们将通过Data Factory工具将该数据处理水线实现自动化,大体思路是将前面的Data Warehouse ETL和Update通过存储过程在DW中函数化,然后通过在Data Factory中创建数据水线来调起存储过程,整个水线的触发可以通过Data Lake中新的CDC数据产生作为事件触发条件。

首先,回顾一下整个架构:

接下来开始介绍具体操作:

1. 创建存储过程,将上期获得的ELT和Update T-SQL脚本通过存储过程进行实现。

2. 创建Data Factory Pipeline。先通过Copy Activity将Data Lake中的CDC数据拷贝至Data Warehouse中的Staging Table,再通过调用存储过程实现对DW中生产表格的Update操作。此步骤可将下面的Data Factory Pipeline Json描述文件导入到Data Factory中并按照自己环境中的SQL Pool和Data Lake连接参数进行修改。

3. 创建Data Factory Pipeline触发条件,定义Data Lake CDC文件创建作为触发条件,其中blobPathBeginWith参数和scope参数替换为相应Data Lake存储参数值。

4. 通过在Cosmos中仿真数据变更操作,查看整个Pipeline工作日志。

通过上述配置,我们实现了通过Data Factory数据水线工具自动化完成CDC由数据湖导入Data Warehouse并更新Data Warehouse数据表格的工作。

目前Azure Synapse Analysis处于预览阶段,所以在内置的Data Factory中还不支持通过Managed Identity连接SQL Pool,且不支持Blob Event Trigger Pipleline。Managed Identity 问题可使用ServicePrinciple来解决,Blob Event Trigger则会在七月底得到支持,目前大家可通过手动触发的方式或者使用非Synapse Analysis内置Data Factory来实现相同逻辑。

到此为止,整个Cosmos DB ChangeFeed数据完整的处理流程已经完毕。作为本系列的最后一篇,下期将介绍直通模式Synapse Link实现Cosmos DB一跳对接Data Warehouse的方案。

这篇关于《数据“科学家”必读》 | 创建自动化的数据处理水线的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/385882

相关文章

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

k8s按需创建PV和使用PVC详解

《k8s按需创建PV和使用PVC详解》Kubernetes中,PV和PVC用于管理持久存储,StorageClass实现动态PV分配,PVC声明存储需求并绑定PV,通过kubectl验证状态,注意回收... 目录1.按需创建 PV(使用 StorageClass)创建 StorageClass2.创建 PV

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

5 种使用Python自动化处理PDF的实用方法介绍

《5种使用Python自动化处理PDF的实用方法介绍》自动化处理PDF文件已成为减少重复工作、提升工作效率的重要手段,本文将介绍五种实用方法,从内置工具到专业库,帮助你在Python中实现PDF任务... 目录使用内置库(os、subprocess)调用外部工具使用 PyPDF2 进行基本 PDF 操作使用

C#自动化实现检测并删除PDF文件中的空白页面

《C#自动化实现检测并删除PDF文件中的空白页面》PDF文档在日常工作和生活中扮演着重要的角色,本文将深入探讨如何使用C#编程语言,结合强大的PDF处理库,自动化地检测并删除PDF文件中的空白页面,感... 目录理解PDF空白页的定义与挑战引入Spire.PDF for .NET库核心实现:检测并删除空白页

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

Pandas处理缺失数据的方式汇总

《Pandas处理缺失数据的方式汇总》许多教程中的数据与现实世界中的数据有很大不同,现实世界中的数据很少是干净且同质的,本文我们将讨论处理缺失数据的一些常规注意事项,了解Pandas如何表示缺失数据,... 目录缺失数据约定的权衡Pandas 中的缺失数据None 作为哨兵值NaN:缺失的数值数据Panda

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别