1.介绍

ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程)
kettle是纯Java开发,开源的ETL工具,用于数据库之间的数据迁移。
可以在Linux,Windows,unix中运行,邮图像界面,也有命令脚本还可以二次开发
kettle官网: https://community.hitachivantara.com/docs/DOC-1009855

2.准备工作

1.配置环境变量
 建议安装JDK1.8以上版本,kettle7.x以后版本不支持低版本JDK
2.下载kettle,解压到本地即可
3.下载相应的数据可驱动
 由于kettle需要连接数据库,因此需要下载对应的数据库驱动。
 列如MySQL数据库需要下载mysql-connector-java.jar,如果是Oracle需要下载ojdbc.jar
 下载完成后将jar放入kettle解压后路径的lib文件夹下即可.
4.启动
 双击Spoon.bat就能启动

3.kettle基本操作

3.1.转换

转换包括一个或多个步骤,步骤之间通过跳(hop)来连接。跳定义了一个单向通道,允许数据从一个步骤流向另一个步骤。在Kettle中,数据的单位是行,数据流就是数据行从一个步骤到另一个步骤的移动

  1,打开kettle,点击 文件->新建->转换,
   在这里插入图片描述
  2,左边DB;连接处点击新建。
   在这里插入图片描述
  3,根据提示配置数据库,配置完成后可以点击测试进行验证,这边以MySQL为例。
   在这里插入图片描述
  4,在左侧找到表输入(核心对象->输入->表输入)双击
   在这里插入图片描述
  5,双击右侧表输入,进行配置,选择数据源,并输入SQL。可以点击预览进行他预览数据。
   在这里插入图片描述
   在这里插入图片描述
  6, 在左侧找到插入/更新(核心对象->输出->插入/更新),双击
   在这里插入图片描述
  7,Shift键,把表输入和插入/更新用线连接起来。
   在这里插入图片描述

  8, 双击插入/更新进行配置。
   在这里插入图片描述

  9, 进行运行,就可以运行这一行转换。
   在这里插入图片描述

  10,运行结束后,我们可以在下方看到运行结果,其中有日志,数据浏览等,我们可以看到一共读取了多少条数据,插入更新了多少数据
   在这里插入图片描述

这样就完成了一个最简单的转换,从一个表取数据,插入更新到另一个表。

作业

如果想要定时运行这个转换,就用作业
  1, 新建一个作业
   在这里插入图片描述

  2, 从左侧一次拖动start,转换,成功到右侧,并用线连接起来
   在这里插入图片描述

  3, 双击start,可以配置作业的运行间隔,这边配置了每小时运行一次
   在这里插入图片描述

  4, 双击转换,选择之前的新建的那个转换
   在这里插入图片描述

  5,点击运行,就能运行这次作业,点击停止就能停止。在下方执
行结果,可以看到到运行的日志
   在这里插入图片描述

这样就完成了一个简单的作业,每隔一小时,将原表的数据迁移到目标表。

总结:
 kettle 是一个非常强大的 ETL 工具,通过图形化界面的配置,可以实现数据迁移,并且不用开发代码。
 通过作业,kettle 能自动地运行转换。
 这样就算你可以入门了,我相信在不断的探索中你会有更多的心得的。在此也要提醒一点,KETTLE的性能可能会有不稳定的情况出现,所以注意保存你已经做过的东西。

Logo

更多推荐