博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【原创】使用Kettle的一些心得和经验
阅读量:5878 次
发布时间:2019-06-19

本文共 1217 字,大约阅读时间需要 4 分钟。

用kettle做etl也有段时间了,遇到很多问题,总结了一下。

【关于版本的问题】

   kettle常用的版本有4.1和4.4,对于4.1版本:

1.该版本的兼容性有点差,在某些机器上运行会启动失败,或者是启动完后增加资源库时报错直接退出。

2.对于etl的sql,比如oracle,不支持/*------*/的注释方式,会将其识别为错误的sql,仅支持--的注释方式。而4.4不存在这个问题。

3.运行不稳定,执行复杂etl过程时容易出现异常退出。

【关于etl过程的问题】

无论4.1或者4.4,有时会出现一些莫名其妙的报错信息,如在oracle下面会报出:

ORA-01013: user requested cancel of current operation

这貌似是oracle爆出来的,好像和sql本身并没有关系,将sql直接到数据库中跑,也没有问题,百思不得其解,调整oracle参数、替换jdbc驱动等都未解决。后来在kettle的官方论坛上找到了一段提示

http://forums.pentaho.com/showthread.php?76733-Strange-SQL-error-kills-DB-input-step
Kettle will stop any SQL processing whenever there is an error, in any step of the transformation. Maybe it helps to increase the logging level and look for other steps that might be throwing an error. If preview works fine it is likely that the error is caused by a step further down in the transformation. Maybe the cause is a specific row, like maybe a row with null values where they are not expected.

 

,大意是这类错误一般都是由etlsql造成的,如果将执行的日志级别调高一些会看出来具体的原因。所以,将日志级别调整的非常详细会看出具体是什么错误,最后发现还是etl的问题,比如输入表A的数据往B表中输出,结果在B表中没有找到对应的列而报错,如果日志信息不详细,则有时会提示如ORA-01013的错误。

【关于优化】

kettle使用java实现,所以,有时etl过程比较长,所以有时需要调整jvm内存大小,在Spoon.bat中增加Xmx和Xms以及PermSize的大小。

转载于:https://www.cnblogs.com/zhangxsh/p/3549127.html

你可能感兴趣的文章
[LeetCode] Reverse Words in a String II
查看>>
CentOS安装GraphicsMagick
查看>>
promise化微信小程序api
查看>>
JavaScript函数式编程之管道分支,消除if/else的一种方式
查看>>
浅谈BFC
查看>>
springBoot的工作机制--springBoot揭秘
查看>>
webclient对reactor-netty的封装
查看>>
c++ 于编译期检测两个类型之间是否可以转化
查看>>
结合kmp算法的匹配动画浅析其基本思想
查看>>
WPF:Animation动画-TargetValues目标值From、To、By动画
查看>>
vue进行wepack打包执行npm run build出现错误
查看>>
nginx搭建
查看>>
【d3.js v4基础】过渡transition
查看>>
VUEJS开发规范
查看>>
Android系统的创世之初以及Activity的生命周期
查看>>
彻底解决Linux下memcached的安装
查看>>
人人都会数据采集- Scrapy 爬虫框架入门
查看>>
Android网络编程11之源码解析Retrofit
查看>>
apache .htaccess 文件配置记录
查看>>
我的全站https之路
查看>>