前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >kettle使用教程(超详细)

kettle使用教程(超详细)

作者头像
全栈程序员站长
发布2022-08-31 21:48:12
6.1K0
发布2022-08-31 21:48:12
举报

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

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

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

一、环境部署

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

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

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

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

kettle使用教程(超详细)
kettle使用教程(超详细)

二、资源库

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

kettle使用教程(超详细)
kettle使用教程(超详细)
kettle使用教程(超详细)
kettle使用教程(超详细)

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

代码语言:javascript
复制
数据库:
主机名称:
数据库名称: 
端口号: 
账号:
密码:
kettle使用教程(超详细)
kettle使用教程(超详细)

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

账号:

密码:

kettle使用教程(超详细)
kettle使用教程(超详细)

三、资源管理

1、文件夹建立

kettle使用教程(超详细)
kettle使用教程(超详细)
kettle使用教程(超详细)
kettle使用教程(超详细)

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

kettle使用教程(超详细)
kettle使用教程(超详细)

四、方案开发

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

kettle使用教程(超详细)
kettle使用教程(超详细)

2、建立表输入

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

3、建立表输出

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

4、建立清理SQL

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

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

kettle使用教程(超详细)
kettle使用教程(超详细)

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

kettle使用教程(超详细)
kettle使用教程(超详细)

7、添加组件

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

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

kettle使用教程(超详细)
kettle使用教程(超详细)

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

更新:

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

Kettle下载地址:

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

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

kettle使用教程(超详细)
kettle使用教程(超详细)

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使用教程(超详细)
kettle使用教程(超详细)

百度云链接如下(包含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-integration\plugins文件夹里

kettle使用教程(超详细)
kettle使用教程(超详细)

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

kettle使用教程(超详细)
kettle使用教程(超详细)

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

kettle使用教程(超详细)
kettle使用教程(超详细)

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

kettle使用教程(超详细)
kettle使用教程(超详细)

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

kettle使用教程(超详细)
kettle使用教程(超详细)

目前感觉使用还不错,虽然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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022年5月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、安装JDK,按默认值安装即可
  • 2、设置环境变量,如图下图
  • 3、 Kettle程序打开(无需安装),如下图:
  • 1、连接开发方案,选择资源库方式,如图
  • 2、录入资源库信息, 如下图:
  • 3、选择并登录资源库,如下图:
  • 1、文件夹建立
  • 2、配置数据库连接(数据源/数据仓库)
  • 1、新建转换,更改转换名称,选择转换归属
  • 2、建立表输入
  • 3、建立表输出
  • 4、建立清理SQL
  • 5、测试转换是否能正常工作
  • 6、新建作业,更改作业名称,选择作业归属
  • 7、添加组件
  • 8、作业定时调度及测试,
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档