kettle数据转换工具

1:kettle安装部署(Windows)

kettle在部署过程当中,总共分两个步骤。1,安装jdk环境且不能高于1.8版本(会报错)2,解压kettle压缩包即可.

1.1:kettle产品简介
1.1.1:kettle简介
  • ETL:是数据抽取(Extract)、转换(Transform)、加载(Load)的简称。实现数据从多个异构数据源加载到数据库或其他目标地址,是数据仓库建设和维护的重要一环,也是工作量较大的一块。
  • kettle是ETL中一款国外开源的ETL工具,纯Java编写,由于Java具有跨平台的特性。所以,它可以无所顾忌的运行在Unix、Windows和linux当中,数据抽取时也是高效稳定的。
  • kettle的中文名是水壶。该项目的主程序员MATT希望把各种数据放在一个壶里。然后,以一种指定的格式流出。
  • kettle中两种脚本文件,分别是transformation和job。transformation针对数据的基础转换完成,job则是针对整个工作流的控制。
1.1.2:kettle产品分类
  • 主要有Spoon、Pan、CHEF、Kitchen.
  • Spoon:图形化工具,用来快速设计和维护复杂的ETL工作流。Windows选择spoon.bat;linux选择spoon.sh
  • Pan:允许批量运行由Spoon设计的ETL转换。例如,使用一个时间调度器。Pan是一个后台执行程序,没有图形界面。
  • CHEF:允许你创建任务(job)。任务通过允许每个转换,任务,脚本等等,更有利于自动化更新数据仓库的复杂工作。
  • Kitchen:用来执行job(工作),后台运行程序
1.2:jdk安装

网上地址:Pentaho from Hitachi Vantara - Browse Files at SourceForge.net都已经失效,报错提示如下:

链接下载地址:Java Downloads | Oracle 中国(网上之前帖子都已过期,此链接是文档更新日,最新的)根据自行需要版本下载

下载完成后,双击jdk包,直接默认解压安装即可(jdk安装路径可自行选择)

1.3:环境变量的配置

右击此电脑---属性---高级设置---环境变量。在环境变量当中,分别新建系统变量和环境变量即可。变量名可自行编辑

1.3.1:添加系统变量

在系统变量中找到PATH双击,点击“编辑”---新建---输入%JAVA_HOME%\bin即可。此处的Java_HOME指的是用户变量中的变量名。

1.4:结果验证

win+R键---cmd---java -version。依次输入命令,若是提示Java版本号,则代表成功。反之,则失败。

1.5:遇到的问题

若是,均按照以上操作。还是没有安装成功,则需要排查确认jdk版本是不是高于1.8版本。

或者,在用户变量当中在新增如下变量

添加完成后,保存。打开cmd窗口,继续输入java -version,查看结果。若还未成功,请自行百度,看有无其他解决方案

2:kettle安装部署

直接将kettle安装包解压到文件夹即可。文件解压后,进入文件双击spoon.bat文件,等待启动,即可。

2.1:kettle安装遇到的问题及解决方法

问题1:运行spoon.bat后,出现闪退。

解决方法:先检查jdk版本或者检查jdk是否安装成功。若是版本没有问题,则使用文本形式打开spoon.bat修改内存

if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx2048m" "-XX:MaxPermSize=256m"

 改为:

 if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms512m" "-Xmx1024m" "-XX:MaxPermSize=256m"

问题2:启动页有上角没有“connect”按钮。

解决办法:将jdk版本降至1.8

问题3:连接数据库,报错

需要下载对应的数据库驱动包:https://download.csdn.net/download/qq_36135335/10925811此链接中包含了mysql和oracle驱动。

解决方法:将对应数据库驱动jar文件,复制到kettle所安装的/data-integration\lib库下即可。

3:Spoon数据转换

3.1:数据库连接

文件---数据库连接---填写对应的信息

注意:首先点击测试连接,看是否成功。若是报错,查看数据库驱动jar包是否匹配合适。具体报错,具体分析

oracle数据库表连接信息

inceptor(星环数据库)连接信息

3.2:数据转换

文件---新建---转换---输入---表输入---输出---表输出---启动

输入输出转换

执行结果

kettle详细使用教程和自动化脚本部署:KETTLE的使用以及自动化脚本的部署_kettle脚本-CSDN博客

4:linux服务器上部署kettle以及定时任务

4.1:卸载当前系统jdk环境

系统安装完成后,一般自带jdk环境。首先,我们需要检查当前系统是否有安装jdk环境。如果有,则需要卸载当前系统原有的jdk环境

查看jdk版本信息:  java  -version
查看jdk对应的java相关文件:rpm -qa  | grep java
删除当前系统原有组件:rpm  -e  --nodeps  文件名

当前系统没有jdk和对应的java组件

4.2:jdk安装

jdk下载地址:Java Downloads | Oracle(最新版本)

Java Archive | Oracle

Java Archive Downloads - Java SE 16(历史版 本)

将下载好的软件包上传至目标服务器对应目录下。然后,解压安装

将压缩包解压到/opt/java目录下:tar  zxvf  jdk-8u131-linux-x64.tar.gz -C /usr/local/java/
切换目录至java下:cd   /opt/java
或者使用yum安装
查看java列表:yum   list  java*
选择java版本安装:yum install java版本
查看版本:java  -version
注意:使用yum安装java后,其文件默认安装在/usr/lib/jvm 目录下

示意图

4.3:配置环境变量
编辑文件:vim  /etc/profile
在底部添加如下内容(以下三种方法,任意一种即可)
注意:JAVA_HOME=/usr/local/java/jdk1.8.0_351  就是你自己的目录
#java environment
export JAVA_HOME=/usr/local/java/jdk1.8.0_351
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
 
#java environment
export JAVA_HOME=/usr/local/java/jdk1.8.0_351
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
 
#java environment
export JAVA_HOME=/usr/local/java/jdk1.8.0_351
export JRE_HOME=${JAVA_HOME}/jre  
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
export PATH=${JAVA_HOME}/bin:$PATH
重新加载配置命令:source  /etc/profile
查看安装情况:java -version
4.4:kettle安装(ETL工具)
4.4.1:kettle安装

下载链接:Pentaho Community Edition Download | Hitachi Vantara

注意:文件下载后为zip文件,使用unzip解压即可

解压:unzip   pdi-ce-7.1.0.0-12.zip
切换目录: cd   data-integration
赋执行权限: chmod +x  *.sh
安装:sh kitchen.sh
若出现option选项帮助则代表安装成功
4.4.2:遇到的问题 (FAQ)

直接使用yum install webkitgtk安装报错及解决方法如下

报错信息:No package webkitgtk available
解决方法:
下载最新的nux-dextop-release rpm包
下载链接地址:http://mirrors.coreix.net/li.nux.ro//nux/dextop/el7/x86_64/
安装依赖:yum install  -y epel-release
rpm包解压安装:rpm -Uvh nux-dextop-release-0-5.el7.nux.noarch.rpm
安装webitgtk:yum install webkitgtk  最后执行 ./kitchen.sh
4.5:使用crond定时任务执行kettle的job任务
编辑定时任务:crontab -e 
					23 11 10 02 * /mnt/kettle/test.sh 
					23代表分钟。11代表小时,10代表日,02,代表月 *代表星期几。  /mnt/kettle/test.sh代表执行脚本路径
详细用法百度crontab用法

结果查询:

此处的“crontab -l”代表查看后台任务列表。

Windows客户端部署:Kettle部署与使用_kettle安装_加油北冥的博客-CSDN博客

linux服务端部署:Linux上部署kettle及定时执行_linux 部署kettle-CSDN博客

kettle工具链接:百度网盘 请输入提取码 提取码:1234

  • 20
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值