kettle的学习使用及常见bug

目录

  • 1、下载安装
  • 2、Windows 下使用 kettle
    • 2.1、解压安装
    • 2.2、启动 kettle
    • 2.3、创建 mysql 连接
    • 2.4、启动 mysql 连接
  • 3、创建一个转换
    • 3.1、创建转换
    • 3.2、设置表输入
    • 3.3、编辑插入/更新
    • 3.4、编辑表输出
    • 3.5、保存、执行转换
  • 4、创建 job
    • 4.1、新建一个 job
    • 4.2、保存执行job
    • 4.3、使用 Windows 的 cmd 窗口执行job
  • 5、连接hive
    • 5.1、创建hive测试数据库
    • 5.2、修改配置文件
    • 5.3、导入相应 jar 包
    • 5.4、创建hive连接
  • 6、Linux 执行 kettle 作业、转换
    • 6.1、清空缓存
    • 6.2、启动命令

1、下载安装

网盘下载地址

提取码:m9pj

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

2、Windows 下使用 kettle

2.1、解压安装

解压安装后如下图所示
kettle的学习使用及常见bug_第1张图片

2.2、启动 kettle

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

2.3、创建 mysql 连接

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

kettle的学习使用及常见bug_第5张图片
测试成功以后就确定返回即可
kettle的学习使用及常见bug_第6张图片
最后完成 mysql 连接创建
kettle的学习使用及常见bug_第7张图片

2.4、启动 mysql 连接

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

3、创建一个转换

3.1、创建转换

在输入栏中选择表输入拖到右边的空白处,在输出栏中选择插入/更新、表输出拖入到右边空白处,如下图所示:
kettle的学习使用及常见bug_第8张图片

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');

然后双击表输入图标即可,如下图所示设置好数据库连接
kettle的学习使用及常见bug_第9张图片
然后输入需要插入的表数据,用 sql 语句查出,预览 SQL 语句是否出错,然后确定即可
kettle的学习使用及常见bug_第10张图片

3.3、编辑插入/更新

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

3.4、编辑表输出

选择好输出表以后获取字段,保留输出表中有的字段即可;
kettle的学习使用及常见bug_第13张图片

3.5、保存、执行转换

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

当前用户目录下的.kettle目录下
kettle的学习使用及常见bug_第14张图片
保存完成后,点击左上角的三角形,执行这个转换
kettle的学习使用及常见bug_第15张图片
最后去 mysql 查看效果
kettle的学习使用及常见bug_第16张图片

4、创建 job

4.1、新建一个 job

在通用里面找到Start、转换、Dummy拖到右边空白处,创建好连线,如下图所示
kettle的学习使用及常见bug_第17张图片
双击转换进行设置,点击浏览选择刚刚创建好的转换,然后确定即可;

Start可以设置定时执行 job,这里不做演示;
kettle的学习使用及常见bug_第18张图片

4.2、保存执行job

保存好以后执行 job
kettle的学习使用及常见bug_第19张图片
效果与之前执行的转换相同;

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 保存的路径
-logfile kettle安装目录下的log文件夹路径,创建一个log.txt文件(自动生成,不用手动创建)

执行成功结果如下,然后去 mysql 查看效果即可
kettle的学习使用及常见bug_第20张图片

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);

测试数据如下
kettle的学习使用及常见bug_第21张图片

5.2、修改配置文件

修改 kettle 安装目录下的plugins\pentaho-big-data-plugin中的plugin.properties文件
kettle的学习使用及常见bug_第22张图片
该目录中的hadoop-configurations文件夹存放hadoop版本,这里修改以上文件配置,选择其中的版本,这里选择hdp26
kettle的学习使用及常见bug_第23张图片
然后进入plugins\pentaho-big-data-plugin\hadoop-configurations\hdp26目录下修改以下文件
kettle的学习使用及常见bug_第24张图片
这里可以直接将配置完成的虚拟机上的配置文件直接复制过来

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 服务
kettle的学习使用及常见bug_第25张图片

kettle的学习使用及常见bug_第26张图片

6、Linux 执行 kettle 作业、转换

6.1、清空缓存

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

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

kettle的学习使用及常见bug_第27张图片

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 保存的路径
-logfile kettle安装目录下的log文件夹路径,创建一个log.txt文件(自动生成,不用手动创建)

你可能感兴趣的:(kettle,mysql)