ETL(kettle)创建工作任务job详解
ETL任务说明
一、 地方业务库 到 地方前置交换库
例:etl\nationfep\tofep\project目录下的配置
总体任务
文件:project.kjb
建设项目相关的表的数据的转化
- 任务开始
- 转换(主要配置)
- 任务结束
说明:任务是调度的单元,之后windows任务计划配置的任务和kettle任务一一对应。一个任务可以包含多个kettle转换,原则上没有限制,但应当按照某个相关主题进行配置,简化管理维护。
转换
文件:以ktr结尾
以project.ktr为例
数据库连接配置
source为地方业务库
target为地方前置交换库
整体思路:获取前置交换库和业务库中的数据,进行比对,根据比对结果(一致的、改变了的、删除了的、新增的),对前置交换库进行新增(新增的)、修改(改变了的、删除了的,删除的也是做修改,只是标记为删除),新增、修改的数据都将为新的版本(原来前置交换库中最大的版本+1,原本不存在记录,则版本为1)。 - 获取本次同步记录的版本号
读取前置交换库中的表的当前最大版本,将其加一,或设置为一(如最大值不存在,即无记录)
- 从业务库中获取数据,并增加DES_ID、DES_VERSION、DES_REPORT_TIME列
- 为上一个步骤的输出的DES_REPORT_TIME、DES_VERSION列增加数据类型和长度
- 对上一个步骤的输出进行排序,为合并数据做准备
只需设置按ID进行升序排序 - 从前置交换库中获取数据
不获取DES_TAG列 - 等待源表输入结束再继续执行
- 合并记录,对业务库和前置交换库的记录进行合并比对,增加flagfield列,标识比对结果
- 根据上一步骤比对的结果进行分支处理
- 选择列,去掉flagfield(不需要此步骤也没问题)
- 增加DES_TAG列,值为0,标识这是新增的数据
- 对新增的数据进行插入/更新操作
- 选择列,去掉flagfield(不需要此步骤也没问题)
- 增加DES_TAG列,值为1,标识这是修改的数据
- 等待步骤11结束再继续执行
- 对修改的数据进行插入/更新操作
与步骤11类似 - 选择列,去掉flagfield(不需要此步骤也没问题)
- 增加DES_TAG列,值为2,标识这是删除的数据
- 等待步骤15结束再继续执行
- 对删除的数据进行更新操作
- 空操作
二、 国家前置交换库 到 国家业务库
例:etl\centerfep\fromfep\project目录下的配置
总体任务
文件:project.kjb
建设项目相关的表的数据的转化
- 任务开始
- 转换(主要配置)
- 任务结束
说明:任务是调度的单元,之后windows任务计划配置的任务和kettle任务一一对应。一个任务可以包含多个kettle转换,原则上没有限制,但应当按照某个相关主题进行配置,简化管理维护。
转换
文件:以ktr结尾
以project.ktr为例
数据库连接配置
source为国家前置交换库
target为国家业务库
整体思路:获取上一次同步的版本号,查找前置交换库中大于该版本号的数据,对业务库中的数据,进行新增、修改、删除,在无错误的条件下,更新本次同步的版本号。 - 获取上一次同步的版本号
- 获取前置交换库中版本号大于上一次同步的版本号的数据
不需要获取DES_ID、DES_REPORT_TIME、DES_VERSION列,需要获取DES_TAG列 - 根据DES_TAG列,进行分支处理,对DES_TAG为0、1的进行插入/更新,对DES_TAG为2的进行删除
- 对DES_TAG为0、1的进行插入/更新
- 对DES_TAG为2的进行删除
- 增加TABLE_NAME列,值与第1步骤的表名一致
- 等待步骤4、5成功再执行
- 更新版本号,标记本次同步的最大版本号
三、 Windows任务计划配置
每一个kettle job都需要相应配置一个Windows定时任务进行周期性执行。
在kettle的任务目录下,建立windows-job目录,
windows-job目录包含2个执行文件
.bat文件中的内容:
.vbs文件中的内容:
配置windows任务
控制面板->管理工具(小图标下才有)->任务计划程序
双击进入管理界面,点击创建任务
填写基本信息
选择执行的操作
操作->新建
指定执行周期
触发器->新建
新建完成后,在任务列表中右键刚刚新建的任务,点击启动。
ETL(kettle)创建工作任务job详解相关推荐
- 创建emp表 oracle,Oracle中创建和管理表详解
Oracle中创建和管理表详解 更新时间:2013年08月01日 15:44:16 作者: 以下是对Oracle中的创建和管理表进行了详细的分析介绍,需要的朋友可以过来参考下 SQL> /* ...
- 4个mos管驱动的全桥电路原理_最经典MOS管电路工作原理及详解没有之一
欢迎加入技术交流QQ群(2000人):电力电子技术与新能源 1105621549 高可靠新能源行业顶尖自媒体 在这里有电力电子.新能源干货.行业发展趋势分析.最新产品介绍.众多技术达人与您分享经验,欢 ...
- python动态生成数据库表_Python-Flask:动态创建表的示例详解
今天小编从项目的实际出发,由于项目某一个表的数据达到好几十万条,此时数据的增删查改会很慢:为了增加提高访问的速度,我们引入动态创建表. 代码如下: from app_factory import ap ...
- 0832工作原理详解_最经典MOS管电路工作原理及详解没有之一
欢迎加入技术交流QQ群(2000人):电力电子技术与新能源 1105621549 高可靠新能源行业顶尖自媒体 在这里有电力电子.新能源干货.行业发展趋势分析.最新产品介绍.众多技术达人与您分享经验,欢 ...
- 在linux系统中创建文件夹,Linux系统中创建文件夹命令详解
Linux系统中创建一个新的文件夹我们可以使用命令来执行,下面由学习啦小编为大家整理了Linux系统中创建文件夹命令详解,希望对大家有帮助! Linux系统中创建文件夹命令详解 一.mkdir命令使用 ...
- IIS连接数、并发连接数、最大并发工作线程数、应用程序池的队列长度、应用程序池的最大工作进程数详解
IIS:连接数.并发连接数.最大并发工作线程数.应用程序池的队列长度.应用程序池的最大工作进程数详解 iis性能指标的各种概念:连接数.并发连接数.最大并发工作线程数.应用程序池的队列长度.应用程序池 ...
- MOS管电路工作原理及详解
1.三个极的判断 2.P沟道.N沟道的判断 综上: 3. 寄生二极管方向判定 不论N沟道还是P沟道MOS管,中间衬底箭头方向和寄生二极管的箭头方向总是一致的: 要么都由S指向D,要么都有D指向S 4. ...
- mysql创建存储过程及函数详解
文章来源: 学习通http://www.bdgxy.com/ 目录 1. 存储过程 1.1. 基本语法 1.2 创建一个指定执行权限的存储过程 1.3?DELIMITER 的使用 2. 创建函数? 1 ...
- TYPE-C接口的工作原理图文详解
TYPE-C接口的工作原理图文详解 发表于 2018-01-29 09:53:53 电子常识 +关注 2016年,有一个名词在手机上非常火,几乎所有的旗舰手机都会提到这个名词,说到这,大家应该都够猜到 ...
最新文章
- safari快捷图标不见了_Win7桌面图标不见了怎么办?附解决办法
- 简单的一阶低通滤波器
- [Python]元组与列表的区别及内建用法
- 赞!史上最全的互联网思维精髓总结
- mysql etc rc.local_CentOS 7 开机启动自定义配置文件:/etc/rc.local 不执行解决办法 | IT运维网...
- python什么是交换算法_python算法-015将链表元素两两交换元素(交换值、就地翻转)...
- 使用 Apache Lucene 搜索文本——轻松为应用程序构建搜索和索引功能
- postgresql 动态添加过滤条件_通过窗口函数进行过滤导致Postgresql
- java的多线程访问共享变量_java多线程通信之共享变量
- client 连接 host —— 虚拟机
- 自己动手架设linux下Web服务器(图)5
- ERROR! The server quit without updating PID file (/usr/local/var/mysql/apple,卸载,重装一个,我的方案
- 最后7天!阿里云2020云内存数据库峰会现场参会报名中
- Express全系列教程之(十):渲染jade模板引擎
- 用python自动办公 麻瓜_(视频教程)下载:麻瓜编程Python商业爬虫学徒计划python自动化办公麻瓜麻瓜编程...
- 切身体验的优秀时间管理法——番茄时间工作法!
- php大文件去重,详细解说PHP多个进程配合redis的有序集合实现大文件去重
- rpa操作excel_一文看懂RPA与Excel宏的区别
- Java游戏项目之坦克大战
- 【打卡-Coggle竞赛学习2023年4月】图像检索与重复图像识别