数据同步工具kettle
kettle这工具真的太人性化了,把操作变成了傻瓜的的拖拉拽,用户只需要配置数据提取的库信息、提取的sql逻辑、目标所需的数据信息就可以实现快速的数据同步;
之前我有用过阿里的datax,虽然个人感觉也挺好用的,但是个人还是更喜欢kettle的简单化;
kettle基于java开源,安装和使用需要jdk,虽然我不是很喜欢Java,但不得不说,Linux平台和window平台都能使用,而windows平台更是有傻瓜式的中文操作界面,对新人非常友好;
kettle操作主要分为三部:
1、配置数据连接和数据提取sql
2、建立一个转换,把所有的操作变成实际所需的东西
3、创建一个job文件把所有的转换串联起来,做成一个完整的连续动作
最后还可以写一个定时任务,定时执行job文件实现定时的数据同步
配置数据连接都需要在文件>新建>转换里面新建一个转换,保存转换文件,格式为ktr,接下来就可以拖拉拽了
点开输入里面有很多方式:
从数据库提取就把表输入拉到右边空格
上图中左边就是表输入右边是输出为excel
按住shift拉动鼠标就可以连线了,双击表输入配置数据库连接信息和sql提取逻辑,同样的双击输出配置excel输出方式等,这样就能得到一个excel,同样的定时执行就能定时的得到excel数据。
你会发现不管是输入输出,数据来源和走向格式都有多种多样,功能非常强大,你以为这样就结束了?
真正的强大是kettle还可以配置job文件,主要作用就是把各个 转换动作串联起来变成一个完成的故事线;比如:
这里我通过开始,读取表1做成一个excel,读取表2添加到表1的excel中做成一个sheet,再判断这个excel是否存在,因为我再转换表1和表2的时候设定了没有数据就不创建excel,所以当有数据时候,发送邮件给我,并删除这次的数据,如果没有数据就不发邮件给我,中间任何的错误导致流程没走下去的都发预警邮件给我;
通过创建job文件可以得到一个完整的故事线动作,所需的第一步就是再文件>新建>job创建一个kjb格式的job文件,这时候左边工具栏会变成:
而你所必须要有的是,一个故事的开始和结束,所以通用中的start和success是必须要的:
你自定义的动作就可以把转换拉到右边双击关联自己创建的转换脚本ktr文件,如果需要判断就去左边条件里面去找,如果需要额外自定义脚本就去左边找到脚本图标双击关联上自己的脚本,同样的shift加鼠标拖动连线,邮件线可以选择真与假的结果走向和取消连线;
通过各种自定义diy,你可以快速的得到一个数据同步或者数据获取方案;
最后,个人感觉kettle性能还算可以,也许市面上很多工具性能比他强,但是他有点极大,开源、傻瓜式开发、便捷、多平台等等,个人也算是非常喜欢的一个工具,如果对数据同步实时性要求不算很高的,还是值得推荐;加上一个系统定时任务定时执行kettle的job文件就可以实现定时的数据拉取或者报表啦。
还没有评论,来说两句吧...