kettle的学习使用及常见bug

1、下载安装

网盘下载地址

提取码:m9pj

下载后解压即可完成安装,建议新建一个 kettle 文件夹,解压到 kettle 下;

2、Windows 下使用 kettle

2.1、解压安装

解压安装后如下图所示
在这里插入图片描述

2.2、启动 kettle

在以上目录下找到 Spoon.bat 文件,双击即可启动 kettle;第一次启动可能会报程序未响应,关闭程序重新打开即可

2.3、创建 mysql 连接

启动 kettle 以后,创建一个连接,如下图步骤所示
在这里插入图片描述
然后选择 Database Repository 之后 Get Started
在这里插入图片描述
然后设置连接名称,创建 Database 连接和注释(注意此处不能有中文,怒人后面可能会出问题)
在这里插入图片描述
创建 Database 连接,照以下编号设置(注意数据库需提前创建好),设置完成后测试连接,报以下错误,需要添加 mysql 依赖包:mysql-connector-java-5.1.38.jarkettle\data-integration\lib 目录下

在这里插入图片描述
测试成功以后就确定返回即可
在这里插入图片描述
最后完成 mysql 连接创建
在这里插入图片描述

2.4、启动 mysql 连接

在创建完成后可以点击 Connect Now 立即连接,也可以点击右上角的 Connect 连接;此处连接的用户名密码默认都是 admin

3、创建一个转换

3.1、创建转换

在输入栏中选择表输入拖到右边的空白处,在输出栏中选择插入/更新、表输出拖入到右边空白处,如下图所示:
在这里插入图片描述

3.2、设置表输入

在此之前需要创建一个测试数据库(kettletest),并创建两张表供测试使用;

#创建数据库并切换数据库
create database kettletest;
use kettletest;
#建表
create table stu1(id int, name varchar(20), age int);
create table stu2(id int, name varchar(20));
#插入测试数据
insert into stu1 values(1001,'zhangsan',22),(1002,'lisi',22),(1003,'xiaohua',22);
insert into stu2 values(1001,'hanmeimei');

然后双击表输入图标即可,如下图所示设置好数据库连接
在这里插入图片描述
然后输入需要插入的表数据,用 sql 语句查出,预览 SQL 语句是否出错,然后确定即可
在这里插入图片描述

3.3、编辑插入/更新

表插入编辑完成后,按住 Shift,从表插入到插入更新插入一个箭头,以及插入/更新到表输出,如下图所示
在这里插入图片描述
然后双击插入/更新编辑,选择目标表,此处只能在连接的数据库中选择表,选择表以后获取字段,选择用来查询的关键字段,此处只保留 id,选中 id 这一行,右击选择只保留选中行,然后获取更新字段,保留输出表中有的字段,最后确定
在这里插入图片描述

3.4、编辑表输出

选择好输出表以后获取字段,保留输出表中有的字段即可;
在这里插入图片描述

3.5、保存、执行转换

编辑以上内容后,Ctrl+S保存,默认的保存路径是在:C:\Users\lenovo\.kettle

当前用户目录下的.kettle目录下
在这里插入图片描述
保存完成后,点击左上角的三角形,执行这个转换
在这里插入图片描述
最后去 mysql 查看效果
在这里插入图片描述

4、创建 job

4.1、新建一个 job

在通用里面找到Start、转换、Dummy拖到右边空白处,创建好连线,如下图所示
在这里插入图片描述
双击转换进行设置,点击浏览选择刚刚创建好的转换,然后确定即可;

Start可以设置定时执行 job,这里不做演示;
在这里插入图片描述

4.2、保存执行job

保存好以后执行 job
在这里插入图片描述
效果与之前执行的转换相同;

4.3、使用 Windows 的 cmd 窗口执行job

cmd 窗口命令

d:
cd D:\kettle\data-integration
Kitchen.bat -rep=xiao -user=admin -pass=admin -job=job1 -dir=/ -logfile=D:/kettle/data-integration/logs/logs.txt

首先进入到 kettle 安装目录下,然后执行 Kitchen.bat 命令

参数解释
-rep创建mysql连接时设置的name
-user连接时的用户,默认为admin
-pass连接时的密码,默认为admin
-job创建的作业名称
-dir保存的路径
-logfilekettle安装目录下的log文件夹路径,创建一个log.txt文件(自动生成,不用手动创建)

执行成功结果如下,然后去 mysql 查看效果即可
在这里插入图片描述

5、连接hive

5.1、创建hive测试数据库

#创建数据库并切换数据库
create database kettle;
use kettle;
#创建表
create table dept(
deptno int,
dname string, 
loc string
)
row format delimited
fields terminated by '\t';

create table emp(
empno int,
ename string, 
job string,
mgr int,
hiredate string,
sal int,
comm string,
deptno int
)
row format delimited
fields terminated by '\t';
#插入测试数据
insert into dept values
(10,'accounting','NEW YORK'),
(20,'RESEARCH','DALLAS'),
(30,'SALES','CHICAGO'),
(40,'OPERATIONS','BOSTON');

insert into emp values
(7369,'SMITH','CLERK','7902','1980-12-17',800,NULL,20),
(7499,'ALLEN','SALESMAN','7698','1980-12-17',1600,300,30),
(7521,'WARD','SALESMAN','7698','1980-12-17',1250,500,30),
(7566,'JONES','MANAGER','7839','1980-12-17',2975,NULL,20);

测试数据如下
在这里插入图片描述

5.2、修改配置文件

修改 kettle 安装目录下的plugins\pentaho-big-data-plugin中的plugin.properties文件
在这里插入图片描述
该目录中的hadoop-configurations文件夹存放hadoop版本,这里修改以上文件配置,选择其中的版本,这里选择hdp26
在这里插入图片描述
然后进入plugins\pentaho-big-data-plugin\hadoop-configurations\hdp26目录下修改以下文件
在这里插入图片描述
这里可以直接将配置完成的虚拟机上的配置文件直接复制过来

5.3、导入相应 jar 包

删除 kettle 安装目录下plugins\pentaho-big-data-plugin\hadoop-configurations\hdp26\lib中的所有 hive- 开头的 jar 包

然后将虚拟机中 hive 的安装目录下的 lib 目录中的所有 hive- 开头的 jar 包复制到这里

最后重启 kettle

5.4、创建hive连接

跟连接 mysql 一样,设置修改一下,连接类型选择 Hadoop Hive2;注意需要开启虚拟机中的 hiveserver2 服务
在这里插入图片描述

在这里插入图片描述

6、Linux 执行 kettle 作业、转换

6.1、清空缓存

在执行启动脚本中添加清空缓存命令,每次执行之前都清空一次缓存

vim ./kitchen.sh
vim ./pan.sh
rm -rf $BASEDIR/./system/karaf/caches

在这里插入图片描述

6.2、启动命令

./pan.sh -rep=hello -user=admin -pass=admin -trans=hive2hdfs -/dir=/
./kitchen.sh -rep=hello -user=admin -pass=admin -job=jobdemo1 -dir=/ -logfile=./logs/log.txt

参数

参数描述
-rep连接名称
-user连接时的用户,默认为admin
-pass连接时的密码,默认为admin
-job创建的作业名称
-trans连接里面创建的连接名称
-dir保存的路径
-logfilekettle安装目录下的log文件夹路径,创建一个log.txt文件(自动生成,不用手动创建)
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值