Kettle实战-前言

  使用kettle工作很多年了,受益于它的开源,不但让我免费得到一个强大的工具,还在学习和运用kettle过程中学到了很多设计、编程等知识。我发现突然到了要大肆夸讲它时,才发现对于使用它像喝水一样平常的事情时,那些溢美之词都显得很无力了。多年的“耳鬓厮磨”使kettle对于我产生了深厚的感情,一直想对kettle的推广做点什么,可是害怕自己经验不够,理解不深误人子弟,其实最主要的是懒惰让这件事只停留在想象中。
  记得刚从事程序开发时,每开发完一个系统,大量的用户上线使用,不管给出的意见是褒还是贬,自己都由衷的觉得自己是一个对社会有用的人,虚荣心得到了满足的同时,自己也更积极学习新东西了。随着年龄增长,经验加深了,学习新东西的能力确越来越差,也越来越没兴趣。到是觉得能把知识传递出去是自己最幸福的事情,也是充分发挥自己能力的事情。传递的方式无非是讲和写,多年开发面对的都是冰冷顺从的计算机,突然面对人来讲述还需要有一个熟悉的过程,想想还是写容易些,那就先从写开始吧。
  2009年记得我们在做李宁公司的一个项目时,新建系统需要把老系统中的数据同步过来,新系统是重新设计的,数据库结构也与老系统完全不同,并且数据库也不同,新系统是Oracle,老系统是SQL Server。最初的方案我是通过Oracle的透明网关连接SQL Server,通过写Oracle的存储过程来进行数据迁移。起初一些简单的小表迁移还可以,但后来一些数据量比较大,且需要一些逻辑处理的大表迁移时,就出现了问题。首先是数据量大存储过程运行过程处于长时间的运行状态,客户端界面上看来就像死机了似的,也不知道它是在运行呢,还是真的死机了,最愁人的是运行了几十分钟,中间报个错,什么字段超长了或者类型不对的错,几百万的数据跑到哪了也不知道,是哪条错误也不好确定,总之让人很崩溃。
  同时新系统的一些基础数据初始化问题也来了,业务人员通过Excel的形式收集来了很多人员、岗位、组织、客户等等,都需要导入系统中,这时候存储过程就无法满足要求了,人工处理太慢,写程序处理这种短期工作,非常浪费时间。偶然在网上发现了kettle这个工具,开源免费使用,下载试了试,非常容易上手,马上解决了我们的问题。包括一些数据比较、查重、对照等等都可以胜任,后来不只我用,整个项目组技术人员、业务顾问,以前都使用excel或其它方式处理数据的都开始使用kettle,我一度经常需要指导他们使用。
  之后所有我参与的项目,基本都有kettle的身影,它在后台默默的工作,高效稳定的解决了很多问题。随着应用的需求越来越高,也会修改一些程序BUG,还给kettle的团队反馈过几个问题,也自己写过插件。还组织开发了一个面向集成的产品,kettle是重要的数据处理组件,后面有机会再做介绍。下面的第一章里也会对kettle的作用,适用哪些场景做一些介绍,让不熟悉kettle工具的朋友了解它的用处,这是推广的重要环节,先从需要开始。
  2006年kettle加入Pentaho BI组织,作为其中的ETL组件,pentaho的其它组件可以找机会介绍一下,也是很强大的,但在我看来最有市场的还是kettle,从下载量上就可以看出,其它组件也都和kettle可以有效结合,补充扩展了kettle的能力。今天的Kettle也与时俱进,增加了大量的新数据源nosql的mongonDB,大数据相关的hadoop等等。在数据时代的今天,作为一名IT从业者,一款数据处理工具,一定会让你更游刃有余的工作,相信我,你肯定会用到它。

猜你喜欢

转载自blog.csdn.net/onemy/article/details/89248971