kettle是一款用java开发的,开源ETL工具。能在linux和win平台上运行,支持各种数据库,支持异构数据抽取、清洗、同步,数据处理高效稳定。现已改名为“Data Integration”。
官方下载地址
https://community.hitachivantara.com/s/article/data-integration-kettle
北理工下载镜像
http://mirror.bit.edu.cn/pentaho/
安装
1、需要安装java运行环境,jre1.8以上,并要设置环境变量JAVA_HOME
2、JDBC驱动下载,https://help.pentaho.com/Documentation/8.3/Setup/JDBC_drivers_reference,根据需要下载对应驱动。并把jdbc的jar包复制到kettle程序目录的子目录lib中。
3、浏览器需要chrome64、IE11、firefox58以上。
基本使用
基本概念:作业job、转换transformation、资源库Repository
转换:对数据的清洗,同步,处理
作业:对转换进行调度
资源库:是作业、转换、调度的集合,通常一个项目为一个资源库。
1、程序启动,运行安装目录的批处理文件spoon.bat

2、创建Repository,依次点击程序右上角的“Connect=》Repository Manager”

有三种资源库:数据库、文件、Server,即文件的保存路径

文件类型的资源库,只需要输入名称和路径即可:

数据库类型的资源库,创建成功会,会在数据库中创建以R开头的数据表:

点击“Database repository”文本框,添加数据库链接

资源库创建成功,可以看到自动创建了R开头的数据表

文件资源库不需要登陆,数据库资源库需要登陆,默认的用户为:admin\admin guest\guest
3、以把oracle中的数据,同步到mssql为例
需要先在mssql中建好要同步的表结构。
添加转换:导航窗格中主对象树,双击转换。
添加DB连接:进行清洗的源数据库,需要同步的目标数据库链接,双击“DB连接”,操作同资源库一样。
添加步骤:导航窗格中核心对象,分别从输入拖入“表输入”、“表输出”

按住shift键,和鼠标左键,交移动鼠标,可以在步骤之间画线,让步骤关连。
双击“表输入”,可以对输入进行配置,

点击“预览这个转换”,会对当前转换进行模拟,并检查有无错误。

作业:分别拖入start和转换,双击节点进行配置
start节点,可以配置任务调度
转换节点,指定作业要执行的转换,可以选择当前资源中的转换





