ETL增量抽取模式实践与调优

news2024/12/25 23:15:20

在ETL(Extract, Transform, Load)流程中,增量抽取是一种重要的数据提取方式,允许从源系统中仅提取发生变化的数据,以提高处理效率和减少资源消耗。增量抽取模式有多种实现方式,包括时间戳增量、增量标记和增量查询。本文以ETLCloud为例,对这三种增量抽取模式进行深入研究,探讨它们的实践应用、调优技巧和优缺点,旨在帮助企业更好地理解和应用增量抽取模式。

一、时间戳增量模式

时间戳增量模式基于数据表中的时间戳列,它通过记录上次抽取的时间戳来判断哪些数据是新增或更新的。时间戳增量模式的优点在于实现简单、容易理解,且适用于任何时间戳变动较频繁的数据表。在ETLCloud中,用户可以通过配置时间戳字段和抽取频率来实现时间戳增量抽取。然而,时间戳增量模式也存在一些挑战,如对源数据表的要求较高、时间戳的准确性和数据的一致性等问题。为了优化时间戳增量模式,可以采用合适的时间戳粒度、增量抽取频率以及数据变动的监测策略。

ETLCloud的增量数据提取

配置好流程,先进行一次全量同步。

全量同步完成后根据流程最后运行成功时间戳在库表输入节点中作为sql判断条件,然后将流程设置成定时调度,即可完成按照定时调度策略的模式定时调度。

若时间格式不匹配可以在规则中使用时间格式化规则或者自定义规则

二、增量标记模式

增量标记模式通过给源数据表增加一个标记列,标记哪些数据是新增或更新的。这个标记可以是布尔值、状态码或其他标识符。增量标记模式的优点在于灵活性和适用性强,可以适应各种不同的数据表结构。在ETLCloud中,用户可以通过配置标记字段和抽取逻辑来实现增量标记抽取。但增量标记模式也需要注意标记字段的更新策略、标记逻辑的准确性和性能消耗等问题。为了优化增量标记模式,可以考虑使用增量标记字段的索引和合理设置标记逻辑。

ETLCloud使用字段值标注组件实现增量标记模式同步到SQLite数据库

三、增量查询模式

增量查询模式是一种基于数据变化查询的增量抽取方式,它通过比较源和目标系统数据表之间的差异,只查询变化的数据。在ETLCloud中,用户可以通过配置增量查询条件和查询语句来实现增量查询抽取。增量查询模式的优点是能够准确捕捉变化的数据,避免全表扫描,提高了抽取的效率。但增量查询模式也存在一些挑战,如查询条件的设计、数据变化导致的性能影响和数据不一致问题。为了优化增量查询模式,可以合理选择查询方式、优化查询语句和维护源和目标数据库的一致性。

1、离线模式下的增量查询模式

2、使用CDC实现实时的增量查询模式

ETLCloud工具使用CDC实时数据集成抽取模式监听MySQL数据库的数据变化,并且输出到其他数据库表

(1)、新建一个MySQL监听器

(2)、配置MySQL监听器配置

(3)、接收端配置

(4)、启动监听器

(5)、不同接收端配置又不同的监听方式

3、直接传输到目标表模式

直接传输模式会在启动监听后抓取数据库中的日志,只要有数据的更新、插入、删除等操作,都会自动同步到目标表在源数据表中插入一条新数据

数据预览

在平台监控中心查看监控的实时数据情况

传输到Kafka,需要在数据源中创建kafka数据源


创建生产者和消费者


监听器配置


启动监听后新增一条数据

查看kafka消费者

数据库监听的到数据直接传输给ETL的流程


将数据库中监听的数据传输给流程使用

总结:

本文以ETLCloud为例,深入研究了增量抽取模式中的时间戳增量、增量标记和增量查询三种实践方式。

时间戳增量模式适用于时间戳变动频繁的数据表,通过记录上次抽取时间戳判断新增或更新数据,具有简单易实现的优点,但要求时间戳准确性和数据一致性。

增量标记模式通过添加标记列标记新增或更新数据,灵活性强,适用于不同数据表结构,但需要考虑标记字段更新策略和准确性。

增量查询模式通过比较源和目标数据表差异进行抽取,避免全表扫描提高效率,但需要合理设计查询条件和处理数据变化的一致性问题。

在使用这些增量抽取模式时,可以根据具体业务场景和数据特点选择合适的模式,并结合适当的调优技巧以提高抽取效率和准确性。

ETLCloud作为一款领先的数据抽取平台,提供了全面的增量抽取功能,企业可以充分利用其功能以实现高效的数据抽取和数据处理,为业务决策提供准确和实时的数据支持。通过理解和应用增量抽取模式,企业可以节省资源、提高数据处理效率,并更好地满足日益增长的数据管理需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1044306.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Bug:Mac版Goland无法进行debug

Bug:Mac版Goland无法进行debug 报错: API server listening at: 127.0.0.1:58574 debugserver-(#)PROGRAM:LLDB PROJECT:lldb-1400.0.38.17 for x86_64 (running under translation). error: failed to launch process /Library/Developer/CommandLineT…

电缆隧道在线监测系统:提升电力设施安全与效率的关键

随着城市化进程的加快,电力电缆隧道在保障城市电力供应方面的地位日益重要。然而,电缆隧道环境复杂,容易受到多种因素影响,如温度、湿度、烟雾、水位等,严重威胁电力设施的安全与稳定运行。在此背景下,电缆…

华为OD机考算法题:最小数量线段覆盖

目录 题目部分 解读与分析 代码实现 题目部分 题目最小数量线段覆盖难度难题目说明给定坐标轴(一维坐标轴)上的一组线段,线段的起点和终点均为整数并且长度不小于1,请你从中找到最少数量的线段,这些线段可以覆盖住…

基于微信小程序的社区垃圾回收管理系统设计与实现

文章目录 前言系统主要功能:具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…

Eclipse安装sts插件(eclipse 内置应用市场无法搜索到sts时)

下面提供一个可以通过help->install new software->add添加外部sts(spring tool suite)插件,springplugins - https://download.springsource.com/release/TOOLS/update/e4.12/ 官网(https://spring.io/tools3/sts/all)可以下载不同的…

Nodejs基于Vue.js博物馆预约系统7e122

博物馆展览与服务一体化,其工作流程繁杂、多样、管理复杂与设备维护繁琐。而计算机已完全能够胜任博物馆展览与服务一体化工作,而且更加准确、方便、快捷、高效、清晰、透明,它完全可以克服以上所述的不足之处。这将给查询信息和管理带来很大…

Spring Boot 中的 CSRF 保护配置

Spring Boot 中的 CSRF 保护配置 CSRF(Cross-Site Request Forgery)是一种网络攻击,它利用已认证用户的身份来执行未经用户同意的操作。Spring Boot 提供了内置的 CSRF 保护机制,可以帮助您防止这种类型的攻击。本文将介绍如何在…

ArduPilot开源飞控之GCS显示DPS310异常问题

ArduPilot开源飞控之GCS显示DPS310异常问题 1. 源由2. 现象3. 分析3.1 Mission Planner3.2 Ardupilot3.3 AP_Baro分析3.4 AP_Baro定位 4. 修复5. 效果6. 参考资料7. 补充7.1 Ardupilot提交PR注意事项7.2 修复主要使用到的命令 1. 源由 2020年Ardupilot官网论坛就有开始讨论DPS…

CompletableFuture-链式语法和join方法介绍

2.4 案例精讲-从电商网站的比价需求展开 2.4.1 函数式编程已成为主流 Lambda表达式Stream流式调用Chain链式调用Java8函数式编程 函数式接口: 小结: 函数式接口: Java8新特性_四大内置核心函数式接口_java8 内置核心接口_ZHOU_VIP的博客-…

idea没有maven工具栏解决方法

背景:接手的一些旧项目,有pom文件,但是用idea打开的时候,没有认为是maven文件,所以没有maven工具栏,不能进行重新加载pom文件中的依赖。 解决方法:选中pom.xml文件,右键 选择添加为…

华为乾坤区县教育安全云服务解决方案(1)

华为乾坤区县教育安全云服务解决方案(1) 课程地址方案背景客户痛点分析区县教育网概述区县教育网业务概述区县教育网业务安全风险分析区县教育网安全运维现状分析区县教育网安全建设痛点分析 安全解决方案功能概述架构概述方案架构设备选型 课程地址 本…

mysql的锁分类:表锁和行锁和页面锁

一 锁的概念 1.1 锁的作用 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有…

难点解释-理解寄主机通过虚拟网络连接到虚拟机的概念

“寄主机”通过“虚拟网络”连接“虚拟机”的关键点Brainstorm 获得“虚拟机”的ip地址 ip a 确保“寄主机”能ping通“虚拟机” SSH客户端连接虚拟机 SSH客户端有很多,这里用的是XSHELL Q&A SSH连接提示超时 表明寄主机到虚拟机的网络没有通,检…

实现数据库用户校验

导入my-batis-plus依赖&#xff1a; <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.3.1</version> </depende…

【图论C++】链式前先星(图(树)的存储)

/*** file * author jUicE_g2R(qq:3406291309)————彬(bin-必应)* 一个某双流一大学通信与信息专业大二在读 * * brief 一直在竞赛算法学习的路上* * copyright 2023.9* COPYRIGHT 原创技术笔记&#xff1a;转载需获得博主本人…

Flink--6、输出算子(连接到外部系统、文件、kafka、MySQL、自定义Sink)

星光下的赶路人star的个人主页 世间真正温煦的春色&#xff0c;都熨帖着大地&#xff0c;潜伏在深谷 文章目录 1、输出算子&#xff08;Sink&#xff09;1.1 连接到外部系统1.2 输出到文件1.3 输出到Kafka1.4 输出到MySQL&#xff08;JDBC&#xff09;1.4 自定义Sink输出 1、输…

Unity插件Xcharts3.x版本使用笔记

Unity插件Xcharts3.x版本使用笔记 官方下载链接&#xff1a;https://xcharts-team.github.io/导入Unity基本使用方式&#xff08;折线图动态添加数据&#xff09;如果想要更多的表现效果可以看官方自带的脚本&#xff0c;这里包括了官方展示案例的部分效果&#xff0c;不过没有…

Windows10操作系统部署AD

windows 10 安装配置AD 一、启用AD 1.打开控制面板—>程序—>启用或关闭windows功能 2.勾选Active Directory Lightweight Directory Services&#xff08;Active Directory 轻型目录服务&#xff09; 注&#xff1a;不同版本中英文显示有区别&#xff0c;认准AD字样就…

Learn Prompt- Midjourney案例:动漫设计

使用 Midjourney 生成动漫有两种方法&#xff1a;使用Niji模式或使用标准的 Midjourney 模型。Niji V5 是 Midjourney 的动漫专用模型。它建立在标准 Midjourney 模型的全新架构之上&#xff0c;更擅长生成命名的动漫角色。Niji V4于2023年12月发布&#xff0c;Niji V5于2023年…

uniapp中使用axios打包到小程序时报 TypeError: adapter is not a function

出现这个错误的原因是因为小程序支持的是它自己原生封装的request接口&#xff0c;它底层用的http的。 若需要使用axios的话&#xff0c;我们需要使用一个axios适配器来兼容小程序。 下面用到axios-miniprogram-adapter适配器来解决 gitHub地址&#xff1a;GitHub - bigmeow…