博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

Kettle 的 安装 及 简单使用

原文:Kettle的安装及简单使用  -  阿涛必须奥利给  人生如逆旅,你我亦行人。

Kettle 的 安装 及 简单使用
一、kettle概述
1、什么是kettle

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

2、Kettle工程存储方式

(1)以 XML 形式存储

(2)以资源库方式存储 (数据库资源库 和 文件资源库)

3、Kettle的两种设计

简述 

转换 (transformation ):完成对数据的 基础转换。

作业 (job) :控制完成整个工作流。

区别:

①作业是步骤过程,转换针对数据流。这是最大的区别。

②作业的每一个步骤,需要等前面的步骤跑完了才能执行;

转换会一次性启动所有的控件,一个控件对应一个线程,

然后让数据流从第一个控件开始,依次流向最后一个控件。

转换:数据输入 → 处理逻辑 → 输出

作业: start → 转换 (告警邮件) → 作业项 → 作业项 → end

4、Kettle的组成

①勺子(Spoon):图形化界面,开发转换 和作业。

②煎锅(Pan):命令行 调用 Tansformation。

③厨房(Kitchen):命令行 调用 Job。

④菜单(Carte):轻量级 Web 容器,建立专用 远程的ETL Server。

5、kettle特点

①基于Java,完全免费开源

②绿色版解压可用,容易配置

③ETL工具集,支持多数据源

④Trans 和 Job 两种脚本文件

⑤有图形化界面,点点点

⑥可以执行每日,每周定时任务

二、kettle安装部署和使用
Windows下安装
(1) 概述

可以在本地运行,也可以连接远程机器运行。

在实际企业开发中,是在本地环境下进行 kettle 的 job 和 Transformation 开发的。

(2) 安装步骤

1、安装 jdk 1.8.0_341 版本

在我本地 jdk 12.0.2 环境下连接时,保错:
kettle org.pentaho.ui.xul.XulException: java.lang.reflect.InvocationTargetException
后改用本地虚拟机(ubuntu) jdk 为 1.8.0_282 后可正常连接
————————————————
https://blog.csdn.net/wuzhong8809/article/details/114094712

在我本地 jdk 11 环境下连接时,保错:
org.pentaho.ui.xul.XulException: java.lang.reflect.InvocationTargetException
后改用本地 jdk 为 1.8 后可正常连接

2、下载kettle压缩包,因 kettle 为绿色软件,解压缩到任意本地路径 如 C:\DataIntegrate\kettle\pdi-ce-8.2.0.0-342\  即可

3、右击 Spoon.bat,以管理员身份打开,启动图形化界面工具,就可以使用了


案例1:MySQL to MySQL
把 表 stu1 的数据按 id 同步到 stu2,stu2 有相同 id 则更新数据

1、在mysql中创建testkettle数据库,并创建两张表

create database testkettle;
use testkettle;
create table stu1(id int,name varchar(20),age int);
create table stu2(id int,name varchar(20));

2、往两张表中插入一些数据

insert into stu1 values(1001,'zhangsan',20),(1002,'lisi',18), (1003,'wangwu',23);
insert into stu2 values(1001,'wukong');

在data-integration\lib文件下添加mysql驱动

C:\DataIntegrate\kettle\pdi-ce-8.2.0.0-342\data-integration\lib

不同版本mysql-connector-java的jar包下载地址

 

 

3、把pdi-ce-8.2.0.0-342.zip文件拷贝到win环境中指定文件目录,解压后双击Spoon.bat,启动图形化界面工具,就可以使用了

 

主界面:

 

在kettle中新建转换--->输入--->表输入-->表输入双击

 

在数据库连接栏目点击新建,填入mysql相关配置,并测试连接

 

建立连接后,选择刚刚建好的连接,填入SQL,并预览数据:

 

以上说明stu1的数据输入ok的,现在我们需要把输入stu1的数据同步到stu2输出的数据(ctrl+shift进行连线)

 

注意:拖出来的线条必须是深灰色才关联成功,若是浅灰色表示关联失败

 

转换之前,需要做保存

 

执行成功之后,可以在mysql查看,stu2的数据
————————————————
版权声明:本文为CSDN博主「阿涛必须奥利给」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_48370579/article/details/125802177

posted @ 2022-08-16 19:51  CHANG_09  阅读(876)  评论(0编辑  收藏  举报