网盘下载地址
提取码:m9pj
下载后解压即可完成安装,建议新建一个 kettle 文件夹,解压到 kettle 下;
在以上目录下找到 Spoon.bat
文件,双击即可启动 kettle;第一次启动可能会报程序未响应,关闭程序重新打开即可
启动 kettle 以后,创建一个连接,如下图步骤所示
然后选择 Database Repository 之后 Get Started
然后设置连接名称,创建 Database 连接和注释(注意此处不能有中文,怒人后面可能会出问题)
创建 Database 连接,照以下编号设置(注意数据库需提前创建好),设置完成后测试连接,报以下错误,需要添加 mysql 依赖包:mysql-connector-java-5.1.38.jar
到 kettle\data-integration\lib 目录下
在创建完成后可以点击 Connect Now 立即连接,也可以点击右上角的 Connect 连接;此处连接的用户名密码默认都是 admin
在输入栏中选择表输入拖到右边的空白处,在输出栏中选择插入/更新、表输出拖入到右边空白处,如下图所示:
在此之前需要创建一个测试数据库(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 语句是否出错,然后确定即可
表插入编辑完成后,按住 Shift,从表插入到插入更新插入一个箭头,以及插入/更新到表输出,如下图所示
然后双击插入/更新编辑,选择目标表,此处只能在连接的数据库中选择表,选择表以后获取字段,选择用来查询的关键字段,此处只保留 id,选中 id 这一行,右击选择只保留选中行,然后获取更新字段,保留输出表中有的字段,最后确定
编辑以上内容后,Ctrl+S保存,默认的保存路径是在:C:\Users\lenovo\.kettle
当前用户目录下的.kettle
目录下
保存完成后,点击左上角的三角形,执行这个转换
最后去 mysql 查看效果
在通用里面找到Start、转换、Dummy拖到右边空白处,创建好连线,如下图所示
双击转换进行设置,点击浏览选择刚刚创建好的转换,然后确定即可;
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文件(自动生成,不用手动创建) |
#创建数据库并切换数据库
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 安装目录下的plugins\pentaho-big-data-plugin
中的plugin.properties
文件
该目录中的hadoop-configurations文件夹存放hadoop版本,这里修改以上文件配置,选择其中的版本,这里选择hdp26
然后进入plugins\pentaho-big-data-plugin\hadoop-configurations\hdp26
目录下修改以下文件
这里可以直接将配置完成的虚拟机上的配置文件直接复制过来
删除 kettle 安装目录下plugins\pentaho-big-data-plugin\hadoop-configurations\hdp26\lib
中的所有 hive- 开头的 jar 包
然后将虚拟机中 hive 的安装目录下的 lib 目录中的所有 hive- 开头的 jar 包复制到这里
最后重启 kettle
跟连接 mysql 一样,设置修改一下,连接类型选择 Hadoop Hive2;注意需要开启虚拟机中的 hiveserver2 服务
在执行启动脚本中添加清空缓存命令,每次执行之前都清空一次缓存
vim ./kitchen.sh
vim ./pan.sh
rm -rf $BASEDIR/./system/karaf/caches
./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文件(自动生成,不用手动创建) |