kettle使用教程(超详细)-程序员宅基地

技术标签: 数据仓库  ETL  etl  数据库  

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

jdk:jdk-8u152-windows--x64

kettle:KETTLE-5.4

一、环境部署

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

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

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

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

二、资源库

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

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

数据库:
主机名称:
数据库名称: 
端口号: 
账号:
密码:

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

账号: 

密码:

 三、资源管理

1、文件夹建立

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

四、方案开发

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

2、建立表输入


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

3、建立表输出

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

4、建立清理SQL

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

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

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

7、添加组件

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

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

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

更新:

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

jdk下载地址:

https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html

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-integration\plugins文件夹里

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

 

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

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

 

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

参考如下步骤:

运用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

 

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

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Jmayday/article/details/102860582

智能推荐

将本地镜像上传到Docker hub_本地docker镜像上传dockhub-程序员宅基地

文章浏览阅读2.4k次。一、准备工作1.注册账号注册一个Docker Hub账号,管理自己的镜像(共享镜像)https://hub.docker.com2.新建一个仓库Docker hub上面创建仓库,仓库用于存放镜像,就像我们在Github Create Create Repository比如:仓库名称叫navigation-server,所以路径就是liyinchi/navigation-server了。注意:仓库名称只能小写3.查看容器IDdocker ps上传到Doc._本地docker镜像上传dockhub

elementUI动态切换校验规则且切换校验规则时清空上一次校验产生的警告文字_ele 切换后清除校验-程序员宅基地

文章浏览阅读1.5k次,点赞2次,收藏8次。**this.$refs.transformerForm.clearValidate(['transformerLVSRateCapacity'])**清除切换校验时上一次校验留下的警告文字,<el-form :model="transfomerInfo" :rules="rules" ref="transformerForm" label-width="170px"> <el-form-item label="低压侧容量(MVA):" prop="transformer..._ele 切换后清除校验

vulhub靶场struts2漏洞复现_vulhub靶场有哪些漏洞-程序员宅基地

文章浏览阅读2k次。0x01、S2-001远程代码执行漏洞原理该漏洞因为用户提交表单数据并且验证失败时,后端会将用户之前提交的参数值使用 OGNL 表达式 %{value} 进行解析,然后重新填充到对应的表单数据中。例如注册或登录页面,提交失败后端一般会默认返回之前提交的数据,由于后端使用 %{value} 对提交的数据执行了一次 OGNL 表达式解析,所以可以直接构造 Payload 进行命令执行影响版本Struts 2.0.0 - Struts 2.0.8poc执行任意命令%{#a=(new java.lan_vulhub靶场有哪些漏洞

linux之找出两个文件里面相同的数据_limux中a-b相同内容-程序员宅基地

文章浏览阅读1.7w次,点赞5次,收藏33次。1 问题找出2个文件里面重复的数据(这个问题是csdn排名第一的大神stpeace的专栏在微信里面和我的交流,我当时一脸懵逼)文件a.txt文件内容如下cat a.txt123123234345456文件b.txt文件内容如下cat b.txt234345456789789两个文件重复的数据如下234345456..._limux中a-b相同内容

matlab绘制不同线性的直方图,Matlab绘制柱状图采用不同图案填充-程序员宅基地

文章浏览阅读545次。说明:在调用applyhatch前,按照自己的需要对Matlab自动绘制的图片编辑。function applyhatch(h,patterns,colorlist)%APPLYHATCH Apply hatched patterns to a figure% APPLYHATCH(H,PATTERNS) creates a new figure from the figure Hby% repl..._matlab不等间隔直方图

centos mysql navicat_centos7 安装 navicat for mysql-阿里云开发者社区-程序员宅基地

文章浏览阅读373次。本人使用的版本是navicat_for_mysql_10.0.11_cn_linux,使用官网上下的11版本的无法打开注意解压目录不要放在中文目录下,会出现各种问题,本人就出现打开之后添加列名添加不上。(1).先安装wine环境yum install wine如果yum源中没有,可以使用下面这个源wgethttp://download.fedoraproject.org/pub/epel/6/i..._centos7安装navicate for mysql

随便推点

使用Laravel值得关注的扩展包_laracasts/testdummy-程序员宅基地

文章浏览阅读1w次。下面会介绍一些laravel中一些好用的扩展包,当然,其中有的也是php的扩展包,合理的使用能够大大的提示开发效率。_laracasts/testdummy

列表类型python_Python列表类型-程序员宅基地

文章浏览阅读234次。列表的开始和结束要加上中括号 采用逗号将列表的项与项分开 使用“=”号操作符将整个列表赋予一个变量列表中可以放置任意的数据类型,如果是字符串,需要打上引号2.列表索引:从0开始;可以倒着来数,最后一个的序号是-1。取列表中的值:print aList[1]、print aList[-2]、print aList[-1][0]片段切片:[a:b],表示从a开始(包括a)到b之..._python列表类型怎么写

oracle临时表教程,在oracle存储过程中创建临时表-程序员宅基地

文章浏览阅读2.2k次。在oracle的存储过程中,不能直接使用DDL语句,比如create、alter、drop、truncate等。那如果我们想在存储过程中建立一张临时表就只能使用动态sql语句了:create or replace procedure pro asstr_sql varchar2(100);begin-- 创建临时表str_sql := 'create global temporary table ..._oracle 存储过程 临时表

centos 7 ffmpeg 批量 转码 mp4 kvm ts shell 懒人系列 -7_kvmts-程序员宅基地

文章浏览阅读476次。特别注意:本人很懒就搞了些懒人办法1.建立个文本。shell.sh,复制下面代码保存。打开终端(建议直接root用戶运行)。2.sudo chmod +x sheell.sh3.sudo ./shell.sh 文件名.avi (扩展名可以任意) 使用方法4.这段代码 支持H264 h265 支持60针视频5.shell.sh 文件要和视频文件同一目录6.转换完的文件被保存在finish文件夹中#!/bin/bash##i-合并视频##-change(转换)##i用法i(_kvmts

SpringBoot整合Redis与Cache实现分页缓存-程序员宅基地

文章浏览阅读4.2k次。SpringBoot整合Redis与Cache实现分页缓存_分页缓存

【FAQ】tomcat启动jdk版本不一致-程序员宅基地

文章浏览阅读192次。一、tomcat7.exe与startup.bat的区别:1、这两个都可以启动tomcat,但tomcat7.exe必须安装了服务才能启动,而startup.bat不需要2、另外一个区别是它们启动所使用的JAVA环境配置是分开的tomcat7.exe启动所使用JAVA配置与服务启动所使用的JAVA配置一样,都是通过tomcat7w.exe的JAVA面板配置(可以在创建服务前修..._龙蜥操作系统tomcat启动的java和java版本不一样

推荐文章

热门文章

相关标签