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


相关推荐

发表回复

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

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