ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Kettle操作手册

2021-11-13 15:58:17  阅读:309  来源: 互联网

标签:kettle 操作手册 Kettle integration 循环 2.2 HOME data


Kettle操作手册(当前使用版本为:Pentaho Data Integration version 7.1.0.0-12)

1.kettle安装

1.1 下载压缩包(data-integration.zip)。直接解压到本地;

1.2 配置环境变量。此版本要求本地jdk环境为1.8及以上。需要在环境变量中指定KETTLE_HOME=文件解压之后的路径。如:我本地解压在D:/soft下,则配置:KETTLE_HOME=D:/soft/data-integration。

2.kettle使用

2.1kettle 循环的 使用

​ 当时使用的场景是:运维人员可以选择是全量重新抽取还是选取日期时间段之内的数据按照日期一天一天的进行重新抽取,前面的转换会将选取的所有时间(以日期为单位:YMD)放入列表中。循环时,以日期列表的大小为循环的大小,在循环的过程中对抽取的日期进行赋值。

循环使用场景

​ kettle中循环的实现需要使用到:JavaScript、检验字段的值、循环中的业务处理转换。如下图所示:
简单循环样例

​ 循环初始化JavaScript中:
循环初始化

​ 检验字段值:
检验字段值

​ 设置循环变量:
循环变量设置

2.2全局变量与配置文件(xml文件做数据库连接配置用)的使用

​ 2.2.1变量设置之后只能在下一个转换开始才会生效。所以作业一般是:【开始】->【变量设置(含数据库连接变量、状态标识常量(如:设置全局参数=1,标识抽取成功,当数据转换过程中某一步骤失败时,需要将标识修改为0).ktr】->【数据抽取.ktr】->【状态修改.ktr】-【成功】。
含有变量作业样例

​ 2.2.2设置配置文件(以xml文件为例)。

设置配置文件(一)

设置配置文件(二)

设置配置文件(三)

设置配置文件(四)

XML文件配置:

XML文件内容)

2.2.3kettle中变量的读取:${变量名} 或 %%变量名%%

例如:数据库连接:数据库连接

全局变量的修改: 使用JavaScript代码进行修改。其中写入:setVariable(“变量名”,“0”,“r”);

2.3字符集设置

​ 数据库连接选项中增加命名参数:characterEncoding - utf8

2.4kettle默认将空字符串 行数据解析为null,当进行表输出时,当数据库设置为not null 时会导致错误。当进行了异常数据处理时,会在(I=0, O=326, R=387, W=326, U=0, E=61)中标识,无异常消息抛出,导致排查很耗时。

​ 解决方法:在data-integration/.kettle/kettle.properties 配置文件中增加配置:KETTLE_EMPTY_STRING_DIFFERS_FROM_NULL=Y。

3.kettle发布

3.1 发布

​ 以当前使用版本为:Pentaho Data Integration version 7.1.0.0-12为例。发布kettle程序:

​ a.确认服务器jdk版本。当前版本要求jdk版本为1.8及以上。

​ b.需要将data-integration上传至对应服务器(windows,Linux均如此)

​ c.环境变量中增加:KETTLE_HOME变量指向data-integration目录下。

3.2定时调度

​ a.windows系统

​ 使用windows自带的定时调度任务.bat文件。

在这里插入图片描述
D:
cd D:\data-integration
kitchen /file XXX.kjb

​ b.linux系统

​ 使用crontab定时任务调度执行.sh文件。

linux下.sh文件内容配置

export JAVA_HOME=/usr/local/jdk/jdk1.8.0_171
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
rm -rf /usr/local/src/data-integration/system/karaf/caches/{kitchen,pan,spoon}
/usr/local/src/data-integration/kitchen.sh -file=/XXX/XX/XXXX.kjb level=Basic>> /var/log/XXXXX/hz_$(date +%Y%m%d%H%M).log &

标签:kettle,操作手册,Kettle,integration,循环,2.2,HOME,data
来源: https://blog.csdn.net/rainrain_Zeng/article/details/121305414

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有