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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 浅析AnyCast网络技术「建议收藏」

    浅析AnyCast网络技术「建议收藏」什么是BGPAnyCast?BGPanycast就是利用一个(多个)as号码在不同的地区广播相同的一个ip段。利用bgp的寻路原则,短的aspath会选成最优路径(bgp寻路原则之n),从而优化了访问速度。其实bgpanycast是不同服务器用了相同的ip地址。阿里的DNS就是使用了BGPAnyCast“其实bgpanycast是不同服务器用了相同的ip地址。”言简意赅啊!D…

    2022年5月24日
    50
  • chrome添加扩展程序无效_vue兼容性问题

    chrome添加扩展程序无效_vue兼容性问题chrome扩展程序中以编程方式插入内容脚本不生效的问题

    2022年4月20日
    55
  • Windows 桌面字体背景颜色取消 

    Windows 桌面字体背景颜色取消 

    2021年7月29日
    76
  • Ubuntu下Lapack安装教程

    Ubuntu下Lapack安装教程记录程序人生环境:linux我用的是ubuntu16.04具体步骤:1.下载Seismicunix安装包//DownloadthelatestLapackhttp://www.netlib.org/lapack/#_lapack_version_3_9_0_2得到lapack-3.9.0.tar.gz,然后用tar-zxvflapack-3.9.0.tar.gz进行解压。2.安装必要的依赖包//installthenecessarypackag

    2025年6月16日
    1
  • win10+cuda11.0+vs2019安装教程[通俗易懂]

    转自:https://www.jianshu.com/p/1fd15d2408bf?utm_campaign=hugo第一步:检查显卡支持的cuda版本1.第一种方法:win+R打开cmd,输入nvidia-smi,我的显卡是nvidia2070super,支持的cuda版本是11.0图1cmd查看显卡支持的cuda版本2.第二种方法:搜索框输入nvidia,出现nvidia控制面板,打开帮助中的系统信息,选择组件,出现cuda版本信息。第二步:安装vs2019.

    2022年4月12日
    586
  • 一个QQ空间的钓鱼盗号过程揭露,大家谨防上当[通俗易懂]

    一个QQ空间的钓鱼盗号过程揭露,大家谨防上当[通俗易懂]1.开端很久没有用过QQ空间了,今天突然QQ弹出一条消息,说我的一个好友留言中提到了我,但是我却也打不开这个链接。于是,我就去她的空间留言板查看。发现第一条留言,是一个二维码扫描之后,进入到一个网页,是标准的QQ空间登录页。这么敏感的信息,当然要慎之又慎!我们识别一下这个二维码,发现!他并不是腾讯的域名。如下http://gallatinboom.com/catfish/xxyy….

    2022年8月24日
    6

发表回复

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

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