kettle使用教程(超详细)

2022-08-31 21:48:12 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

今天详细详细说一下kettle 的安装,安装的版本:

jdk:jdk-8u152-windows–x64 kettle:KETTLE-5.4

一、环境部署

1、安装JDK,按默认值安装即可

2、设置环境变量,如图下图

代码语言:javascript复制
具体步骤:
 1.右击我的电脑-属性-高级系统设置-环境变量-系统变量-新建
 2.变量名:JAVA_HOME
 3.变量值: JDK安装目录

3、 Kettle程序打开(无需安装),如下图:

二、资源库

1、连接开发方案,选择资源库方式,如图

2、录入资源库信息, 如下图:

代码语言:javascript复制
数据库:
主机名称:
数据库名称: 
端口号: 
账号:
密码:

3、选择并登录资源库,如下图:

账号:

密码:

三、资源管理

1、文件夹建立

2、配置数据库连接(数据源/数据仓库)

四、方案开发

1、新建转换,更改转换名称,选择转换归属

2、建立表输入

代码语言:javascript复制
步骤:
1在组件组-输入中找到组件-表输入
2.选择数据库连接(数据源)
3.填写SQL语句,可预览结果

3、建立表输出

代码语言:javascript复制
步骤:
1、在组件组-输出中找到组件-表输出
2.建立表输入和表输出的连接
3.选择数据库连接(数据仓库)
4.录入目标表名,指定数据库字段
5.获取字段
6.执行SQL(建表)

4、建立清理SQL

代码语言:javascript复制
*步骤:
1在组件组-脚本中找到组件-执行SQL脚本
2.选择数据库连接(数据仓库)#此处选择必须谨慎,避免清理了数据源的数据
3.填写SQL语句
4.建立与表输入的关系

5、测试转换是否能正常工作

6、新建作业,更改作业名称,选择作业归属

7、添加组件

代码语言:javascript复制
*步骤:
1在组件组-通用中找到组件-START(作业开始,用于作业调度设置)
2.在组件组-通用中找到组件-转换(如有多个可以多次添加)
3.通过引用指定转换文件
4.在组件组-通用中找到组件-成功(作业结束)
5.按执行顺序建立组件间的关系

8、作业定时调度及测试,

这样就算你可以入门了,我相信在不断的探索中你会有更多的心得的。在此也要提醒一点,KETTLE的性能可能会有不稳定的情况出现,所以注意保存你已经做过的东西。

更新:

很早之前写的文章,发现大家许多人想要下载安装包,我就给大家把链接顺便也找到了

Kettle下载地址:

Pentaho from Hitachi Vantara – Browse /Data Integration at SourceForge.net

以为这就完了,no,再附加个人网盘地址:

kettle下载链接:

链接:https://pan.baidu.com/s/1tmFK1sdU7DDTT3YzoJVnwQ 提取码:76yw

点击下方链接,输入上方提取码即可 链接:https://pan.baidu.com/s/1tmFK1sdU7DDTT3YzoJVnwQ

升级版本:

最近由于需要连接clickhouse数据库,kettle目前的版本没有clickhouse驱动,所以没法连接,需要自定义插件,又重新安装了kettle的9.2版本尝试一下,应该是比较新的了所以就把资源也更新一下,希望对你有帮助的小伙伴可以点赞支持。

由于kettle的连接中暂时没有clickhouse插件,需要自己搞定,先看下官网提示:

https://help.hitachivantara.com/Documentation/Pentaho/8.1/Developer_Center/PDI/Extend/020

查找相关资料在githubs上找到源码,连接如下:

https://github.com/aaa8210/kettle2clickhouse

上面是自己查找的一些资料,下面分享安装包及插件:

kettle的9.2版本:

百度云链接如下(包含kettle安装包、连接mysql驱动和clickhouse插件):

https://pan.baidu.com/s/1CH5wYQjAxnuvOz-C0koO2w

提取码:4sy0

链接:https://pan.baidu.com/s/1CH5wYQjAxnuvOz-C0koO2w 提取码:4sy0 注:连接clickhouse版本kettle版本需要对应.

1、下载分享资源

2、解压 kettle 安装包后将驱动包里的 clickhouse-plugins文件夹复制到 kettle 的 data-integrationplugins文件夹里

看一下clickhouse-plugins 里就是自定义的插件jar包

3、复制驱动中的其余jar包

粘贴到 kettle 的 data-integrationlibswtwin64 目录下(根据自己的系统而定,我的是win64)

4、启动kettle,选择新建连接就可以选择Clickhouse了

目前感觉使用还不错,虽然kettle自带调度任务,但是前提是保持kettle打开,并且作业和转换在运行状态,这个不太适用与远程服务器安装windows客户端,或者一些学习的同学可以在本地windows设置调度任务也可以,在linux上安装部署kettle并调度是一个比较合适的方法。

参考如下步骤:

代码语言:javascript复制
运用crontab执行kettle程序
1.建立目录存放kettle文件

# mkdir /data/kettle/kettle_job // 存放作业文件

# mkdir /data/kettle/kettle_transition // 存放转换

# mkdir /data/kettle/kettle_sh // 存放执行脚本

# mkdir /data/kettle/kettle_log // 存放执行kettle产生的日志文件

将从windows上配置好的.ktr和.kjb程序分别放在transition目录和job目录下
(或linux下编写后直接保存到该目录下),注意:job中的转换对应的目录需要做相应修改

2:编写执行脚本

# cd /data/kettle/kettle_sh

# vi ceshi.sh

文本内容如下:

#!/bin/bash

#执行job程序

cd /data/kettle/data-integration

export JAVA_HOME=/usr/local/jdk1.8.0_201/

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

./kitchen.sh -file=/data/kettle/kettle_job/testjob.kjb >>/data/kettle/kettle_log/ceshi_$(date  %Y%m%d).log

注:(因为crond是个守护进程,它不归属于任何用户,虽然之前以root用户配置了java环境变量,
但是crond一样找不到java命令,所以,当crond执行kettle任务时,
需要动态设置java环境变量,否则会出现手动执行.sh没问题,放crontb里面执行后无效果)

保存ceshi.sh,执行赋予执行权限的命令
# chmod  x ceshi.sh
测试ceshi.sh是否可以正常执行
# sh -x ceshi.sh

3:设定crontab 定时执行任务

# crontab -e

*/1 * * * * /data/kettle/kettle_sh/ceshi.sh //每分钟执行一次ceshi.sh

# systemctl restart crond

# systemctl enable crond

注意:

在linux中,如果是通过图形界面执行程序的话,点击那个绿色的三角即可。
如果是命令行启动,后台执行进行进程不能中断。
因此,在linux中不推荐使用kettle里面的自动执行,使用操作系统的定时执行要稳定的多。
Windows下使用定时任务计划,linux下使用crontab。

/usr/share/java /data/java/jdk1.8.0_141/bin/java

这个版本使用还不错,这样做完调度在之后就可以了。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/142100.html原文链接:https://javaforall.cn

0 人点赞