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)
blank

相关推荐

  • 结巴分词原理及使用「建议收藏」

    结巴分词原理及使用「建议收藏」目前常用的分词工具很多,包括盘古分词、Yaha分词、Jieba分词、清华THULAC等,现在项目使用的分词方法是结巴分词,本次来介绍一下。安装就不说了可以直接pipinstalljieba或者pycharm的setting中添加即可。通过 importjieba 来引用如下为jieba代码结构及子目录与相应功能的对应;.├──analyse#短语抽取模块│  ├──…

  • Ant是什么?「建议收藏」

    Ant是什么?「建议收藏」Ant是Java的生成工具,是Apache的核心项目;Ant类似于Unix中的Make工具,都是用来编译、生成;Ant是跨平台的,而Make不能;Ant的主要目的就是把你想做的事情自动化,不用你手动一步一步做,因为里面内置了javac、java、创建目录、复制文件等功能,所以可以直接点击Ant文件,即可编译生成你的项目。……

  • SpringMVC框架–学习笔记(上)

    SpringMVC框架–学习笔记(上)

  • MySQL提示Can‘t connect to MySQL server on localhost (10061)解决方法

    MySQL提示Can‘t connect to MySQL server on localhost (10061)解决方法

  • poe交换机的供电方式_普通交换机能与PoE连接吗

    poe交换机的供电方式_普通交换机能与PoE连接吗PoE交换机是指能够通过网线为远端受电终端提供网络供电的交换机,是PoE供电系统中比较常见的供电设备,可是,如果一个交换机没有POE功能,那么可不可以额外加一个poe供电模块经过交换机给ap供电呢?接下来就由飞畅科技的小编来为大家详细介绍下,一起来看看吧!  其实是可以的,只能算利用了百兆网络环境里网线中闲置的4578脚,来传输电源而已。那就是在交换机和AP中间跨接一个POE合路器(又称POE供电器),但前提要看你的AP是否支持接受POE供电。  POE交换机供电方式一  那么如果你的是吸顶

  • 【shell案例】学员管理系统「建议收藏」

    【shell案例】学员管理系统「建议收藏」前言学员管理系统涉及到学员的增删改查,这是一个综合性比较强的项目,在所有的编程语言里都会有不同版本的学员信息管理系统,难度适中效果截图学员管理系统源码#!/bin/bash##随机点名册whiletruedo echo”学生随机点名系统” echo”1.添加学员名单” echo”2.遍历学员名单” echo”3.随机点名” echo”4.删除某个学员的信息” echo”5.退出” read-p”请输入你要选择的序号:”num case

发表回复

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

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