ETL工具——kettle实现简单的数据迁移

本文介绍了Kettle这款开源ETL工具的概念、安装启动方法,并通过一个实际案例展示了如何进行数据库之间的数据迁移。文章详细阐述了数据库连接、SQL脚本、表输入、字段选择和表输出等关键组件的使用,帮助读者理解Kettle在数据处理中的应用。
摘要由CSDN通过智能技术生成

1、Kettle概念

Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。

Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。

Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。

2.安装与启动

KETTLE本身是绿色安装版软件,直接对压缩包解压后即可使用,在Linux操作系统下通过.sh文件运行,在Windows操作系统下对应的是.bat文件

spoon.bat一闪而过,无法打开的问题:内存设置

spoon.bat修改

if “%PENTAHO_DI_JAVA_OPTIONS%”=="" setPENTAHO_DI_JAVA_OPTIONS="-Xms512m" “-Xmx512m”"-XX:MaxPermSize=256m"

3.常用组件

  • 数据库连接
  • sql脚本
  • 表输入(数据来源表)
  • 字段选择
  • 表输出(落新表)
  • 插入/更新

当然kettle自带了非常多的组件可使用,目前只接触了这些。kettle也支持将文件作为输入输出等等。

4.具体案例

服务器上的pgsql和本地的sqlserver 之间的数据迁移简单案例

pgsql: result user_number user_name -> sqlserver:demo_user user_id user_name

总体结构:

sql脚本先清除了sqlserver中demo_user表的数据

然后表输入,选择了pgsql:result表中的所有字段

字段选择,选择了user_number user_name并改名为user_id user_name

表输出,选择sqlserver:demo_user

组件之间使用 shift+鼠标左键连接
图中下边有个独立的表输入2只是用于查看数据迁移是否生效,直接去数据库看是一样的。
在这里插入图片描述

4.1 数据库连接

sqlserver需要手动下载驱动jar至kettle的lib中https://sourceforge.net/projects/jtds/files/latest/download

这里分别是服务器中的pgsql和本地sqlserver
在这里插入图片描述
在这里插入图片描述

3.2 sql脚本

清除pgsql中的rc_user表,便于以后查看从sqlserver迁移过来的数据
在这里插入图片描述

3.3 表输入

数据库连接->表->sql语句->预览

服务器pgsql至本地sqlserver

只迁移了user_number user_name

pgsql: result user_number user_name -> sqlserver:demo_user user_id user_name

在这里插入图片描述

3.4 字段选择:

获取选择的字段->修改或移除

也可以直接在sql中筛选字段,这样更容易维护
在这里插入图片描述

3.5 表输出

选择要作为表输出的库和表

在这里插入图片描述

点击执行即可完成,数据迁移。

pgsql: result user_number user_name -> sqlserver:demo_user user_id user_name

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值