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

文章目录

      • 1、Kettle概念
      • 2.安装与启动
      • 3.常用组件
      • 4.具体案例
        • 4.1 数据库连接
        • 3.2 sql脚本
        • 3.3 表输入
        • 3.4 字段选择:
        • 3.5 表输出

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只是用于查看数据迁移是否生效,直接去数据库看是一样的。
ETL工具——kettle实现简单的数据迁移_第1张图片

4.1 数据库连接

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

这里分别是服务器中的pgsql和本地sqlserver
ETL工具——kettle实现简单的数据迁移_第2张图片
ETL工具——kettle实现简单的数据迁移_第3张图片

3.2 sql脚本

清除pgsql中的rc_user表,便于以后查看从sqlserver迁移过来的数据
ETL工具——kettle实现简单的数据迁移_第4张图片

3.3 表输入

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

服务器pgsql至本地sqlserver

只迁移了user_number user_name

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

ETL工具——kettle实现简单的数据迁移_第5张图片

3.4 字段选择:

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

也可以直接在sql中筛选字段,这样更容易维护
ETL工具——kettle实现简单的数据迁移_第6张图片

3.5 表输出

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

ETL工具——kettle实现简单的数据迁移_第7张图片

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

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

你可能感兴趣的:(#,Storm,数据库,数据迁移,kettle)