kettle初探

     Kettle是Pentaho的一个组件,主要用于数据库间的数据迁移,到我用过的4.2版,还不支持noSQL,不知道4.4是否是支持了。java

     Kettle本身有三个主要组件:Spoon,Kitchen,Pan。其中Spoon是一个图形化的界面,用于windows的时候,先设置环境变量:pentaho_java_home,例如:C:\Program Files\Java\jdk1.7.0_25,其实就是你的java安装目录,1.6以上便可。windows下双击Spoon.bat就能够了,界面以下:mysql

      这里我创建了资源库,其实能够用文件形式存储,存储的结构都是xml,可是我仍是以为创建一个资源库比较好,之后看job等状况也比较简单,由于数据表的可读性比xml要好得多。创建资源库和文件资源库只须要把右上角的小加号点一下,就会出现以下如的界面:linux

      

      选择第一个就是创建数据库版的资源库,以后:sql

      

      以后:数据库

      

      测试经过以后点击OK就回到最开始的界面,这时候选择test数据库链接,而后出入你的工程(我是这么叫的)ID和name,这里要记住,由于之后kitchen调度的时候要输入这个参数。windows

     

     在接下来弹出的框中都点“是”,而后会出现这个界面:bash

     

      这步会在你的用户下创建不少表,因此最好单独给资源库创建一个用户,固然这是在oracle下,mysql下和DB2下最好也采用一样的方式,把资源库和其余库分开。检查一下:oracle

      

SQL> conn wings/wings@prism
已链接。
SQL> select count(1) from r_repository_log;工具

COUNT(1)
----------
0学习

SQL>

      表已经建好了。回到最开始的界面,选择test,点击肯定,而后就会出现登陆对话框,用户密码默认都是admin,之后能够本身改。

      接下来就能够开始用这个工具了。

      其实对于简单的数据库数据的抽取,基本只须要转换和做业这两种东西。下面就是创建一个转换的步骤:

      1 点击文件-->新建-->转换。

      2 在左侧的树状列表中选“主对象树”,新建DB链接。步骤和上面建资源库同样。一个目标库一个源库。

      3 在核心对象-->输入这个地方拖出一个表输入,在“输出”目录下拖出“表输出”,在“转换”处拖出一个字段选择来,如图:

      

       每个对象均可以双击修改属性,下面以抽取world数据库的city表为例。

       双击表输入,选择数据库链接,选择源数据库,而后点击“获取SQL查询语句”,在弹出的对话框里进行选择便可,以后会变成这样:

      

      下面点击表输出:

       

       点击字段选择:

       

       这样,一个简单的抽取数据的转换就完成了。执行之,点击上面的绿色开始按钮。

       我也处在学习中,但愿能够把个人经验分享给和我同样的入门者。

       下面是补充部分:

       在一个Job或者一个trans创建好以后,就能够创建定时任务了。若是是DS,那么DS客户端自己就支持schedule,可是Kettle由于没有服务端和客户端的概念,所以只有使用linux的crontab,其实Job自己也支持定时,可是你必须保证图形界面一直开着,这样并不如crontab那么好。在命令行里使用kettle很简单,Job用kitchen调度,trans用pan调度。

     下面是一个kitchen的调度命令:

     bash /home/kettle/data-integration/kitchen.sh /rep kettle_demo /user username /pass passwd /level Minimal /dir /dirname /job jobname

     rep那里写本身的资源库名称。

     trans和上面同样,略有不一样:

     bash /home/kettle/data-integration/pan.sh /rep kettle_demo /user username /pass passwd /level Minimal /dir /dirname /trans transname

相关文章
相关标签/搜索