CentOS 指令运行 kettle 实现数据迁移

  • Kettle
  • spoon.bat
  • Windows使用步骤
  • 转换
  • 作业
  • Linux使用步骤
  • 配置环境
  • 运行 Spoon 的装换和作业
  • 在Linux上运行kettle小案例


Kettle

spoon.bat

kettle 是纯 java 开发,开源的 ETL工具,用于数据库间的数据迁移 。可以在 Linux、windows、unix 中运行。有图形界面,也有命令脚本还可以二次开发。

Windows使用步骤

1.基于java开发,所以需要安装jdk并配置JAVA_HOME环境变量(建议安装JDK1.8)
2.安装kettle 链接:https://pan.baidu.com/s/1x0gEjX3PtJl69IqOt5C1Bw 提取码:aqgy
3.下载mysql数据库驱动jar包,放入lib目录下 链接:https://pan.baidu.com/s/1TLIhQ6hlYajbHsBTaPch2Q 提取码:afgq
4.双击spoon.bat启动kettle

转换

1.左上角 文件->新建->转换

2.左上角 文件->保存->起名字

3.左边菜单栏 主对象树->DB连接(右键->新建)

java如何将数据传给前端 java数据迁移解决方案_linux

java如何将数据传给前端 java数据迁移解决方案_java如何将数据传给前端_02

4.使用 核心对象->输入->表输入(拖拽到右边工作区)

java如何将数据传给前端 java数据迁移解决方案_运维_03


5.双击->获取数据->点击预览

java如何将数据传给前端 java数据迁移解决方案_java如何将数据传给前端_04


6.核心对象->输出->表输出(拖拽到右边工作区)

java如何将数据传给前端 java数据迁移解决方案_运维_05


7.按住shift连接两个步骤

java如何将数据传给前端 java数据迁移解决方案_运维_06


8.运行

java如何将数据传给前端 java数据迁移解决方案_centos_07


9.数据库中查看数据

java如何将数据传给前端 java数据迁移解决方案_centos_08

作业

1.左上角 文件->新建->作业

2.左上角 文件->保存->起名字

3.按图拖拽并按顺序连接

java如何将数据传给前端 java数据迁移解决方案_linux_09


4.设置循环

java如何将数据传给前端 java数据迁移解决方案_java_10


5.设置执行转换

java如何将数据传给前端 java数据迁移解决方案_linux_11

6.运行

Linux使用步骤

配置环境

1.安装 jdk 1.8

首先保证系统上装有 JDK 1.8 (其他版本建议更换为 1.8) 可以输入指令 java -version 查看 Java 版本

java如何将数据传给前端 java数据迁移解决方案_centos_12


没有安装的话可以使用 yum install java-1.8.0-openjdk 命令安装


2.下载 Kettle 软件并解压

此处使用的是 pdi-ce-7.1 版本, 百度网盘链接如下:

https://pan.baidu.com/s/1eziGs6zFhTNYya1oBqoutw 密码: aaaa

3.启动服务
在 pdi-ce 目录下进入 data-integration 目录下, 执行 ./kitchen.sh 看服务是否能启动:

java如何将数据传给前端 java数据迁移解决方案_java如何将数据传给前端_13



如图所示为缺少组件, 按照要求输入命令: sudo apt-get install libwebkitgtk-1.0-0 安装依赖项.

运行 Spoon 的装换和作业

1.将 Spoon 文件传至 CentOS 系统中
首先需要在具有图形化界面的计算机编写好转换作业, 并保存成**( *.ktr / *.kjb)**文件并传至CentOS 中.
2.使用指令运行
进入到 data-integration 目录下:

运行转换文件 (*.ktr): ./pan.sh -file:文件地址

运行作业文件 (*.kjb): ./kitchen.sh -file:文件地址

在Linux上运行kettle小案例

kfc.ktr

java如何将数据传给前端 java数据迁移解决方案_linux_14

功能简述
使三个不同数据库中的表进行字段统一后,更新插入到另一个数据库的表中。

my_kfc.kjb

java如何将数据传给前端 java数据迁移解决方案_java如何将数据传给前端_15


功能简述

设置每隔一分钟执行一次kfc.ktr。

java如何将数据传给前端 java数据迁移解决方案_java_16

注意填写位置时,需要明确与kfc.ktr的目录位置。

1.将 kfc.ktrmy_kfc.kjb

2.进入 data-integration 目录下, 执行 ./kitchen.sh -file:/home/my_kfc.kjb

java如何将数据传给前端 java数据迁移解决方案_linux_17

3.运行成功后查看数据库, 每一分钟发现了改变并且可以实现自动更新.

java如何将数据传给前端 java数据迁移解决方案_运维_18