KETTLE4个工作中有用的复杂实例--1、数据定时自动(自动抽取)同步作业
天呕心沥血花了8个小时给大家带来kettle工作中最常见的四种复杂实例,90%的项目用到这4种实例都可以解决。
4种实例种还有2种通用kettle工具,使用这两种通用工具实例,可以直接修改相应的配置文件,完成数据的同步。
下面就一一给大家带来这4种实例,完全原创且可以拿来直接使用,废话不说,下面直接给大家带来具体实例:
KETTLE4个工作中有用的复杂实例--1、数据定时自动(自动抽取)同步作业
一、表数据自动同步
1、为了给大家更直观的展示,【大喇叭玩转数据库】首先在数据库创建4张表,表结构如下:
- t_student_kettle 学生数据源表;
- t_student_kettle_target 学生目标数据表;
- t_class 班级数据源表;
- t_class_target 班级 班级目标数据表;
- t_tbrz 同步日志表
--1、学生数据源表 -- Create table create table T_STUDENT_KETTLE (id INTEGER,name VARCHAR2(2000),sex VARCHAR2(2000),age INTEGER,cjsj DATE,zhgxsj DATE default sysdate ) tablespace MYSPACEpctfree 10initrans 1maxtrans 255storage(initial 64Knext 1Mminextents 1maxextents unlimited);--学生目标数据表 -- Create table create table T_STUDENT_KETTLE_TARGET (id INTEGER,name VARCHAR2(2000),sex VARCHAR2(2000),age INTEGER,cjsj DATE,zhgxsj DATE default sysdate ) tablespace MYSPACEpctfree 10initrans 1maxtrans 255storage(initial 64Knext 1Mminextents 1maxextents unlimited);--班级数据源表 -- Create table create table T_CLASS (id NUMBER,class VARCHAR2(100),cjsj DATE,zhgxsj DATE ) tablespace MYSPACEpctfree 10initrans 1maxtrans 255storage(initial 64Knext 1Mminextents 1maxextents unlimited);--班级目标数据表 -- Create table create table T_CLASS_TARGET (id NUMBER,class VARCHAR2(100),cjsj DATE,zhgxsj DATE ) tablespace MYSPACEpctfree 10initrans 1maxtrans 255storage(initial 64Knext 1Mminextents 1maxextents unlimited);-- 同步日志表 -- Create table create table T_TBRZ (id NUMBER, --idtbcgsj DATE, --同步成功时间(结束时间)tbkssj DATE, --同步开始时间bm VARCHAR2(100), --同步表名tbjg CHAR(1) --同步结果:1-成功;2-未成功 ) tablespace MYSPACEpctfree 10initrans 1maxtrans 255storage(initial 64Knext 1Mminextents 1maxextents unlimited);--创建同步日志表的序列 create sequence SEQ_T_TBRZ minvalue 1 maxvalue 999999999 start with 81 increment by 1 cache 20;
2、配置数据库连接地址,一般项目上会通过配置jndi数据源直接连接数据库,不在配置jdbc数据源了,有点类似于java的配置
3、设置数据库连接,通过JNDI方式
4、作业整体流程
需要用到1个作业和6个转换来操作2张表,一个表是3个转换来完成,几张表总共的转换就是N*3个转换。
下图为整个作业的流程:
由上面流程图可以看到,start分了两个分支,一个是class表,一个是student表,下面我们来一一点开每个转换看下。
1)T_CLASS数据变量设置
如上图,T_CLASS数据变量设置,该步骤是获取上次同步的成功时间,做为下次同步的开始时间,并设置到环境变量中,供后续的数据流调用
2)T_CLASS数据变量设置
如上图,T_CLASS数据更新步骤,该步骤是获取上次同步的成功时间之后的数据,插入更新到表中。
3)T_CLASS保存同步日志
KETTLE4个工作中有用的复杂实例--1、数据定时自动(自动抽取)同步作业相关推荐
- 用计算机根据姓名填充地址,如何在一个excel表格中引用另一个表格的数据,并自动填充-excel自动填写,excel按照姓名自动匹配数据...
操作如下抄: 1.首先建立好月数据表格 2.之后是要在日数据袭表格中将两个表中项目(示例,可设为其他条件)所对应的数据自动填写 3.点击输入数据的首行单元格,选择插入函百数 4.选择VLOOKUP函数 ...
- JAVA实现Excel照相机功能_Excel如何将工作表转换为图片,并随着数据的变化自动更新?...
随着Microsoft Office版本的更新,越来越多的功能汇集到软件之中.一些常用的功能放在"台面"上,方便用户使用.一些新增的.不常使用的功能却被隐藏起来,需要用户根据需要进 ...
- SD question:客户主数据中“合伙人功能”视图里面的数据怎么样才能自动带出来?...
最近在创建customer master data的时候,发现在配置sales area data的时候里面的合伙人功能这个tab,无法自动带出相关的party ,本来的想法是四个party都是使用一 ...
- oracle中主键自增长,oracle 数据库主键自动增长方法
oracle 数据库没有像 MYSQL一样有 自动ID增值 的功能,如要实现可以用触发器. 首先就是建立一个序列,序列有有自动增值的功能,再建立一个触发器. 如: 建立一个序列 CREATE SEQU ...
- exce中让两列数据一一对应_工作中被重复数据所烦恼?学会这几个Excel技巧,少加班...
工作中,经常被重复的数据所困扰,那就学下这几个关于重复值的技巧,每天5分钟,工作更轻松! 1.快速查找单列重复数据 如果某一列中,有的数据是重复的,我们希望把它找出来,可以在条件格式中突出单元格,然后 ...
- 2019 FME博客大赛 ——FME在三调工作中的应用
参赛单元:传统GIS数据处理 作者:李芃乐 单位:陕西迪博景源测绘地理信息有限公司 一.前言 很有幸在入测绘这行的时候就接触了强大的FME,回顾FME陪伴我的这四年,从最开始最简单的格式转换,到照猫画 ...
- 工作中一个简单python数据处理-统计csv文件并画柱状图
工作中一个简单python数据处理 工作中需要parsing一些短信数据,会有接口直接将数据导入到csv文件,但是报告时需要统计csv文件中数据频率,所以写了一个python脚本做一些简单处理. 流程 ...
- Boss直聘微简历(个人实例)本人找实习工作中,欢迎联系
我的问答 回答会展示在微简历下方 已回答问题 17 个 个人情况 个人工作的规划 想先在杭州长期发展,找一份前端工作,想在中小企业共同发展,来施展才华. 工作再忙,也得逛逛CSDN,学习新的知识,充实 ...
- 工作中使用到的单词(软件开发)_2022-02-26_备份
■原文 工作中使用到的单词(软件开发)_sun0322-CSDN博客 目录 ■常用链接 ■2020/03/15 (最初整理 242个单词) 2020 6/28 整理 2020 6/29 整理 20 ...
- Linux工作中必知必会的命令总结
目录 1 打包解压命令 1.1 打包命令 1.2 解压命令 1.3 打包解压命令总结 2 权限设置 3 指定用户执行命令 4 将用户添加到用户组 5 查看磁盘空间大小及使用情况 6 统计文件大小 6. ...
最新文章
- 在win ce中如何使正在运行的软件自动升级更新
- ArrayList 扩容
- ABAP maintenance view event handling
- Association, Composition and Aggregation in UI5, CRM, S/4HANA and C4C
- 589-N叉树的前序遍历
- 终端模拟器编译c语言,编写你自己的Terminal emulator
- notepad怎么运行php程序,notepad怎么运行php程序
- 尤雨溪介绍 Vue 3:语法不变、TS 支持很好、2.0 系列还会发一个版本
- 推理集 —— 现象与观察
- java netty rpc框架_Java编写基于netty的RPC框架
- Phaserjs基础教程第二节:加载图片、文字和动画
- 哔哩哔哩助手V0.8.16.28
- Android TextView 字体颜色渐变
- 2019-05-23 嗅探工具;影音嗅探;IRIS嗅探器;
- centos7.2php,Centos7.2之phpadmin安装配置
- iOS自动化-iOS录屏xrecord及解决iPhone设备不显示的问题
- ICCV 2021 Oral | Paint Transformer - 基于笔触预测的快速油画渲染算法
- 基于OpenCV的实时车道线分割&车道保持系统(源码&教程)
- 使用python3.7.2 实现大名鼎鼎的Elo Score等级分制度 CSGO段位机制
- Java从接触到放弃(二十一)--网络编程