java etl 简单实例_东方通ETL开发实例[通俗易懂]

java etl 简单实例_东方通ETL开发实例[通俗易懂]东方通ETL开发实例下面通过一个简单的“OracleCDC增量抽取”实例,带大家感受一下TIETL的开发思路和强大的数据处理能力。功能需求:同一数据库(localhost_etl)下,现有cdc_source和cdc_target两张表如下:表cdc_source表cdc_target现表cdc_source的增量(增、删、改)需同步到cdc_target中TIETL环境下开发思路:类似于jav…

大家好,又见面了,我是你们的朋友全栈君。

东方通ETL开发实例

下面通过一个简单的“Oracle CDC增量抽取”实例,带大家感受一下TIETL的

开发思路和强大的数据处理能力。

功能需求:

同一数据库(localhost_etl)下,现有cdc_source和cdc_target两张表如下:

表cdc_source

a4c26d1e5885305701be709a3d33442f.png

表cdc_target

a4c26d1e5885305701be709a3d33442f.png

现表cdc_source的增量(增、删、改)需同步到cdc_target中

TIETL环境下开发思路:

类似于java

OO开发,需要什么功能?—>这种功能属于哪种类?—>当前是否存在这种类?—>是,则载入并使用,否则创造后使用

这里把OO中“类”替换为“组件(具有某种特定功能的部件)”即可,另外本实例要实现的功能,现有的组件完全可以满足,所以

不存在需创造的情况(TIETL支持自定义组件开发,由于本文只介绍其基本使用方法,故组件开发在此不作介绍)。

转换设计:

根据对需求的分析结合TIETL现有的组件设计如下

a4c26d1e5885305701be709a3d33442f.png

因TIETL对数据库插入/更新和删除操作做了区别对待,所以通过中间的内容路径进行流程控制。

现分别对每个组件进行配置和解释。

图:Oracle CDC增量抽取

a4c26d1e5885305701be709a3d33442f.png

订阅字段及需要同步的字段,匹配字段一般选用主键(唯一标识),用于源和目的表记录的匹配。

图:内容路由

a4c26d1e5885305701be709a3d33442f.png

OPERATION$包括数据库插入、更新、删除操作分别对应值I,UN,D

图:数据库记录插入/更新

a4c26d1e5885305701be709a3d33442f.png

提交记录数量为一次提交数量,若CDC增量多于这个值则会分次执行。

勾选“不执行任何更新”后只执行插入操作。

图:数据库记录删除

a4c26d1e5885305701be709a3d33442f.png

执行过程:

cdc_source表中插入若干数据

a4c26d1e5885305701be709a3d33442f.png

cdc_target表为空

执行前面设计的转换后

cdc_target表如下

a4c26d1e5885305701be709a3d33442f.png

CDC成功执行!更新和删除操作执行过程相同,故不作赘述。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133399.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Model_ModelMap_Map「建议收藏」

    Model_ModelMap_Map「建议收藏」Model_ModelMap_Map

    2022年6月18日
    27
  • 超火的Vhr(SpringBoot +Vue)实战项目+文档

    超火的Vhr(SpringBoot +Vue)实战项目+文档项目摘要vhr是一个基于SpringBoot+Vue技术栈开发的前后端分离项目,项目使用SpringBoot2.1.8来开发,集成了当前企业级开发中众多的热门技术点,如消息中间件、Redis缓存、SpringBoot+Vue+ElementUI技术栈等等。技术选型核心框架:SpringBoot2.1.8 安全管理:SpringSecurity 持久层框架:MyBatis 缓存:Redis 数据库:MySQL8 消息队列:RabbitMQ 即时通信:WebSocket

    2025年7月6日
    2
  • 零散的MySQL基础总是记不住?看这一篇就够了!

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:Sicimike blog.csdn.net/Baisitao_/article/details/104714…

    2021年6月25日
    75
  • TraCI4Matlab的安装教程「建议收藏」

    TraCI4Matlab的安装使用教程安装1、下载安装Sumo2、下载安装TraCI4Matlab3、设置环境变量4、添加traci4matlab.jar路径5、将javaclasspath.txt复制至Matlab路径中6、配置Matlab路径安装Matlab有联合Sumo的插件traci4Matlab,网上还没有中文版的安装教程,走过的弯路,后来研究者尽可能少走。1、下载安装Sumo百度搜索sumo,点击进入官网,如图1:根据自己电脑系统进行下载:软件占的空间较少,按照提示安装完成即可:2

    2022年4月12日
    70
  • Docker部署_docker部署网站

    Docker部署_docker部署网站前言我们都爱用WordPress,(几乎)一行代码都不用写,就能得到一个好看、实用的动态网站。这东西用来敷衍帮助各种找你写奇怪小网站的朋友再好不过了。通常,帮朋友部署WordPress的这个场景下,你可以找朋友开一台新的服务器,初始化一套LAMP,直接把WordPress给wget进去,就可以在你的浏览器里完成配置了。有时候,比如您的朋友使用阿里云、百度云或是其他比较大的云服务商,您甚至可以直接初始化一个WordPress应用镜像,直接在浏览器里开始设置。但是,前两天我需要

    2025年7月22日
    5
  • html css 分页样式,css中分页样式

    html css 分页样式,css中分页样式css中分页样式css分页样式的设置,我们可以采用ul+li来实现,设置li标签float为left,让它们排列在一行,再设置li标签里面的a标签样式。具体实现如下:部分css代码解释#model14ul{padding-inline-start:0!important;/*设置ul的开头距离为零必面设置自动居中时影响美观*/}#model14li:first-child{mar…

    2022年7月17日
    17

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号