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成功执行!更新和删除操作执行过程相同,故不作赘述。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • pytest的使用_java中方法的调用

    pytest的使用_java中方法的调用Pytest执行用例规则Pytest在命令行中支持多种方式来运行和选择测试用例1.对某个目录下所有的用例pytest2.对模块中进行测试pytesttest_mod.py3.对文件夹进行

  • sql调用存储过程exec用法_sqlserver存储过程执行日志

    sql调用存储过程exec用法_sqlserver存储过程执行日志一、【存储过程】存储过程的T-SQL语句编译以后可多次执行,由于T-SQL语句不需要重新编译,所以执行存储过程可以 提高性能。存储过程具有以下特点:• 存储过程已在服务器上存储• 存储过程具有安全特性• 存储过程允许模块化程序设计• 存储过程可以减少网络通信流量• 存储过程可以提高运行速度 存储过程分为用户存储过程、系统存储过程和扩展存储过程。存储过程Procedure是一组为了完成…

  • 超详细的MySQL三万字总结[通俗易懂]

    超详细的MySQL三万字总结[通俗易懂]文章目录MySQL基础数据库的介绍数据库概述数据的存储方式数据库的概念常见数据库排行榜数据库的安装与卸载数据库的安装数据库的卸载数据库服务的启动与登录Windows服务方式启动DOS命令方式启动控制台连接数据库SQLyog图形化工具——客户端使用SQLyog登录数据库数据库管理系统数据库管理系统、数据库和表的关系SQL的概念什么是SQLSQL作用SQL语句分类MySQL的语法DDL操作数据库创建数据库创建数据库的几种方式查看数据库修改数据库删除数据库使用数据库DDL操作表结构创建表M

  • 工控机上位机软件的开发历程(二)[通俗易懂]

    工控机上位机软件的开发历程(二)[通俗易懂]仪器归一化设计这是具体内容的第一篇,我们先来讲述仪器的归一化设计。仪器是各种功能都有的,我只举我们在环境监测这方面所用到的仪器。我们要测试水是不是有污染物质,污染到什么程度,我们要测试水体的高锰酸盐指数、氨氮、总磷、总氮等值。我们的站房有一个后备电源,我们要知道市电是否断电了,是否在用备用电源。我们的站房是有空调的,我希望知道站房的温度和湿度,于是就有了一个温湿度计。我们可能还会有流量计、…

  • 网络性能优化常用方法有_防御网络监听常用方法是

    网络性能优化常用方法有_防御网络监听常用方法是1.减少页面请求按需加载合并压缩文件将小图标合并成雪碧图字体图标dataURL内置图片2.优化网络链接cdn,减少dns查询,避免服务器端重定向3.减少下载量压缩css图片混

  • AutoEventWireup

    AutoEventWireup
      Google了一番,大家讨论AutoEventWireup问题可不少,Page指令的AutoEventWireup属性被设置为true(或者如果缺少此属性,因为它默认为true),该页框架将自动调用页事件,即Page_Init、Page_Load等14个方法,在这种情况下,不需要任何显式的Handles子句或委托。但这是怎么实现的呢?.net又怎样根据AutoEventWireup属性来动态编译或者预编译页面呢?我在Google上没有找到答案。
     

发表回复

您的电子邮箱地址不会被公开。

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