原文: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