kettle 入门 案例(一) 实现不同数据库不同表 的数据同步

先来介绍下什么是kettle:
      Kettle 是”Kettle E.T.T.L. Envirnonment”只取首字母的缩写,这意味着它被设计
用来帮助你实现你的ETTL 需要:抽取、转换、装入和加载数据;翻译成中文名称应该叫水
壶,名字的起源正如该项目的主程序员MATT 在一个论坛里说的哪样:希望把各种数据放到
一个壶里然后以一种指定的格式流出。
Spoon 是一个图形用户界面,它允许你运行转换或者任务,其中转换是用Pan 工具来运
行,任务是用Kitchen 来运行。Pan 是一个数据转换引擎,它可以执行很多功能,例如:从
不同的数据源读取、操作和写入数据。Kitchen 是一个可以运行利用XML 或数据资源库描述
的任务。通常任务是在规定的时间间隔内用批处理的模式自动运行。

1.kettle安装 

  安装必须安装Java jdk环境,官网可以下载最新版本的spoon 工具(http://kettle.pentaho.org/)

2.运行spoon

    不同平台运行不同的脚本

     Spoon.bat: windows平台运行

     Spoon.sh:在Linux、Apple OSX、Solaris 平台

一切准备就绪,开始正式操作了:

      先打开安装好的Spoon工具,进入首页,新建一个转换,双击DB连接,这里我选择的是sqlserver数据库(记得将sqlserver的驱动jar包放到pdi安装目录里的lib 目录下,不然连接不上数据库),主机名称:数据库地址 。如图所示:

kettle 入门 案例(一) 实现不同数据库不同表 的数据同步

连接成功后,点击核心对象,点击输入 -找到表输入,将表输入拖到转换界面,点击输出-找到表输出,将表输出拖到转换界面,

点击表输入,长按shift,建立连接。如图所示:

kettle 入门 案例(一) 实现不同数据库不同表 的数据同步

双击表输入,点击获取sql查询语句,查到源数据表,选择,确认,如图:

kettle 入门 案例(一) 实现不同数据库不同表 的数据同步

双击表输出,新建,创建一个新的连接,点击浏览,找到需要导入数据的表。点击确认,如图:

kettle 入门 案例(一) 实现不同数据库不同表 的数据同步

勾选指定数据库字段,点击输入数据字段映射,将需要同步的列Add,然后确认,如图:

kettle 入门 案例(一) 实现不同数据库不同表 的数据同步

最后点击左上角的启动,如果页面如图所示,就成功同步了:

kettle 入门 案例(一) 实现不同数据库不同表 的数据同步