在昨天的帖子里面,我介绍了一些etl初级的东西,不知道大家是否已经掌握,我现在介绍一些kettle应用中,比较有帮助的一些地方。
1,kettle跨平台使用。
例如:在aix下(aix是ibm商用unix操作系统,此处在linux/unix同样适用),运行kettle的相关步骤如下:
1)进入到kettle部署的路径。
2)执行chmod*.sh,将所有shell文件添加可执行权限。
3)在kettle路径下,如果要执行transformation,就运行。/ file=?.ktr -debug=debug-log=
其中。-file说明你要运行的transformation文件所在的路径;-debug说明日志输出的级别;-log说明日志输出的路径。
4)同理,对于job的执行,请将。/更换成。/其他部分说明不变。
2,kettle环境变量使用。
在transformation中,core objects-->job-->set variables,可疑设置环境变量,对于绝对路径和相对路径的转换很有帮助,kettle的跨平台很大程度依靠他的。
3,其它功能的使用。
其它功能包括db存储过程调用,流查询,值映射,聚合记录等,各位自行摸索,有问题可以和我联系:)
4,kettle定时功能。
在job下的start模块,有一个定时功能,可以每日,每周等方式进行定时,对于周期性的etl,很有帮助。
5,kettle经验之日志。
kettle对于日志的处理,存在一个bug,看过上一篇的人或许已经看到了我的留言,kettle对于日志处理有一个bug,当日志多于49m(不是50m,也不是49m),kettle就会自动停止,这一点我在源码里面也没有找到对应的设置和约束,原因还找不到,因为是日志没有写,所以原因也不好跟踪还不知道具体原因。
6,kettle之效率提升。
kettle作为一款etl工具,肯定无法避免遇到效率问题,当很大的数据源输入的时候,就会遇到效率的问题。对此有几个解决办法:
1)数据库端创建索引。对需要进行查询的数据库端字段,创建索引,可以在很大程度上提升查询的效率,最多的时候,我不创建索引,一秒钟平均查询4条记录,创建索引之后,一秒钟查询1300条记录。2)数据库查询和流查询注意使用环境。
因为数据库查询为数据输入端输入一条记录,就对目标表进行一次查询,而流查询则是将目标表读取到内存中,数据输入端输入数据时,对内从进行查询,所以,当输入端为大数据量,而被查询表数据量较小(几百条记录),则可以使用流查询,毕竟将目标表读到内存中,查询的速度会有非常大的提升(内存的读写速度是硬盘的几百倍,再加上数据库自身条件的制约,速度影响会更大)。同理,对于目标表是大数据量,还是建议使用数据库查询,不然的话,一下子几百m的内存被干进去了,还是很恐怖的。
3)谨慎使用j**ascript脚本,因为j**ascript本身效率就不高,当你使用js的时候,就要考虑你每一条记录,就要执行一次js所需要的时间了。
4)数据库commit次数,一条记录和一百条记录commit对效率的影响肯定是不一样的。
5)表输入的sql语句的写法。有些人喜欢在表输入的时候,将所有关联都写进去,要么from n多个表,要么in来in去,这样,就要面对我在2)里面说道的问题,需要注意。
6)注意日志输出,例如选择数据库更新方式,而且日志级别是debug,那么后台就会拼命的输出日志,会在很大程度上影响速度,此处一定要注意。
7,常见的调试bug。
kettle提供了很多调试的解决办法,但是对于常见的调试bug还是能避免就避免。
1)路径问题。我最常遇到的问题就是在windows下调试成功,但是部署到unix下出问题,忘记将windows下路径变成unix下,经常会出现问题。
2)输出端,数据库插入更新选择不对。输出端,提供了三种数据库输出的办法,数据库输出,插入/更新,更新,对于这三种,各有利弊,如果你知道数据库输出,完全是插入,如果有重复数据,则会报错;插入更新和更新,因为更新数据时,后台输出很多日志,会导致效率很低。
总体来说,kettle还是一个很不错的etl工具,在开源软件里面并不多见,以后有kettle相关的问题,大家可疑相互**。
kettle操作
kettle操作文档。介绍。22.kettle 2 3.使用规范和注意事项。2 3.1.配置数据库的全局变量。2 3.2.文件命名规范 不要用汉字 2 3.3.文件存放位置。3 3.4.配置启动任务文件。3 3.5.注意事项。3 4.kettle部署使用。4 4.1.启动kettle。4 4.2.创...
excel 高级教程 高级应用
目录。第一节 excel公式及函数的高级应用。1.1 数组公式及其应用3 1.1.1 数组公式的输入 编辑及删除3 一 数组公式的输入3 二 编辑数组公式4 三 删除数组公式5 1.1.2 数组公式的应用5 一 用数组公式计算两个数据区域的乘积5 二 用数组公式计算多个数据区域的和5 三 用数组公式...
excel高级教程 高级应用
本文由可 00贡献。doc文档可能在wap端浏览体验不佳。建议您优先选择txt,或 源文件到本机查看。在多个 excel 工作簿间快速切换。按下 ctrl tab 可在打开的工作簿间切换。快速删除空行。有时为了删除 excel 工作簿中的空行,你可能会将空行一一找出然后删除,这样做非常不方便。你可以...