继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

kettel使用:数据转移到新数据库

慕虎7371278
关注TA
已关注
手记 1250
粉丝 203
获赞 873

业务需求:新OA中有一份数据没有,只能从旧OA中取, 于是我把数据备份到DW中,直接从DW中取数。

什么是kettel

Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。
Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
官网下载

流程

0x01 读入数据



新建transformation (ctrl+n), steps里选择Table input

webp


, 并拖到图中。


webp


双击,弹出对话框,更改Step Name为  Read Data, 点击Connection 后面的new, 弹出对话框,填入数据库信息。测试成功后关闭。然后Connections选择数据库名字,如这里OLD_OA , 然后在SQL框里输入SQL语句,基本语句已经写好,可以修改相应内容就好了。输入完后可以点击Preview预览下内容,这时会弹出输入框要求输入默认行数,保持默认就好了。预览信息确认无误后,可以关闭,点击OK,这一步就是好了。

webp

Step信息

webp

输入数据库信息.png


webp

预览行数


webp

预览内容

0x02 写入数据库

其实整个过程和读入数据类似,steps里选择Table out

webp

,并拖到图中。
双击,修改Step name为 Write to Database, Connections 点击new填入数据库信息。这里要注意的是这里的数据是目标数据库,是要把信息存入的数据库。修改相应的信息,Connection里选择刚刚的数据库,Target schema为服务名, Target table写入数据库里未存在的表名。至此,好像除了点OK,都结束了。

webp

table out


注意:这里有一个关键点,一定要点击sql,会出现一个sql语句,这里生成table的语句,然后点击excut执行,否则等下运行tranformation的时候会报错,表不存在


0x03 连接steps

两个steps建立好了,鼠标按住read data 同时按信shift键拖动鼠标到write to database,会有一条线出现,这条线就是hops, 其实就是流程方向,双击的话会看到对话框,从read data 到write to database。


webp

流转方向

0x04 运行transformation



一切就绪,点击运行图标,

webp


对话框信息默认,直接点击Run, transformation就如我们期待那样正常运行了。运行结束,可以到目标数据库中查看,我们想要到数据已经出现了。


webp

运行

后记

其实kettle非常强大,可以做的事情还有很多,数据的抽取,清洗,转换,加载,我这时只是做了最基本的流转,其实直接用代码写也不会慢,但是可以做个示范,有兴趣的朋友可以自己探索下。



作者:Stevent
链接:https://www.jianshu.com/p/1aec2bc0fff3


打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP