首页 > 代码库 > kettle
kettle
kettle是一款E(Extract)T(Transform)L(Load)工具.(即数据抽取,转换,装载的过程)。
kettle有两种方式来整合工作:xml文件形式和资源库(资源库移植性不好,数据表的可读性比xml好)
kettle有两种脚本文件:transformation和job
kettle有三大组件:Spoon Kitchen Pan
Spoon:一个图形化界面,windows下直接运行Spoon.bat
Kitchen:命令行调job bash /home/kettle/data-integration/kitchen.sh /rep kettle_demo /user username /pass passwd /level Minimal /dir /dirname /job jobname
Pan:命令行调trans bash /home/kettle/data-integration/pan.sh /rep kettle_demo /user username /pass passwd /level Minimal /dir /dirname /trans transname
简单案例:
1.新建一个trans.ktr,保存到F:\kettleworkspace下
2.在trans下新建两个DB连接myconn,myconn2.(mysql)
数据库结构:数据库TestA、TestB。TestA下有一张usera表,TestB下有一张userb表。将usera表的数据装载到userb。
usera:
userb:
3.新建步骤
将核心对象中的表输入拖到trans中。
双击表输入图标,写一个最简单的sql:select * from usera
将表输出下的插入/更新拖到trans中,按住shift,然后点击表输入,按住鼠标左键,移动鼠标到插入/更新。
双击插入更新。选择数据连接myconn2,目标表为userb,关键字填写id=id,点击获取和更新字段,确定。
4.直接点击运行,刷新userb,会发现数据已同步。
ps:若中文乱码,可以分别双击两个数据连接 选择选项 增加一组参数:characterEncoding:gbk
kettle