对于刚开始使用kttle的我,使用了一段时间之后,在日常的工作会出现一些问题下面我就把问题总结一下,并且做一些简单的分析
首先,我们需要建立一个转换如下:
1、常见错误一
分析:在使用kettle做ETL仓库时,SQL查询不能使用参数输入,否则就会出现报错,无法获取到数据
2、常见错误二
分析:出现错误的原因是SQL有问题,命令未正确结束
建议解决方法:
(1)写好了SQL可以先使用其它数据库或者客户端检测SQL的语法是否正确。
(2)出错信息界面比较大,因此需要准确的定位到出错问题的位置,ORA--xxxx开头的,通常是错误的原因所在。
例如:ORA-0053
3、常见错误三
数据库中目标表已经存在
分析:这是由于目标表名重复,所以在建表的时候一定要先构建好表名的框架,按照一定的规则来构建,否则会导致后见建输出表以及查询和使用起来非常不方便
4、常见错误四
执行sql全量清理脚本的时候,该进程已经被执行
分析:因为已经产生了缓存,可以打开输出表中的SQL,然后清楚缓存再执行
5、常见错误五
事务以及表被锁
分析:由于kettle不稳定以及硬件原因造成的,由于kettle是一款开源工具,所以它的在某些方面的性能可能不稳定。除此之外,硬件的处理能力也是一部分原因,当打开多个进程和线程,由于电脑的配置以及CPU的处理能力有限,可能导致卡死。
建议:最好一个个转换做,做完保存,避免丢失。自己遇到过,做着做着就退出了。不过这样效率低下,我通常也会并行做几个转换,根据电脑以及软件情况,不建议这样。
以上大概就是常见的问题,下面分享一下排错方法:
出现问题主要就是以下几部分,只要逐一排查,就能找到问题:
模块一:资源库连接
1、打开工具--探索资源库
分析:主要看下数据库是否已经连接好了,这是开始使用kettle的基础操作
模块二:表输入
1、选择数据库:检查你的数据连接是否正确,最简单的一般会有两个数据库可以选择,源数据与目标数据,表输入应该选择的是源数据库。
建议:在源数据库的和操作数据的命名时,区分开来,避免选择问题
2、SQL:SQL可能出现的问题
1)带有参数
2)可能存在语法错我
分析:可以根据具体的问题选择解决方法
建议:在表输入的下面会有一个预览,每次做完表输入之后,可以预览一下,这样在后面避免出错
模块三:表输出
1、数据库选择:这时应该选择操作数据库
2、表:建立目标表的时候注意目标表的表名
分析:可能出现表名重复的问题
3、获取字段之后,点击SQL,执行一下
分析:检验表输出是否正确,可以执行一下SQL,检查输出是否有问题
模块四:脚本处理
1、这里一定要选择操作数据库,避免删除源数据的数据
注意:表名一定要正确
这些都没问题之后,你可以选择执行,出现问题之后
解决方法:1)、打开输出表
2)、打开SQL
3)、清除缓存再次执行
以上就是我遇到的一些问题以及分析解决的方法,希望对你有所启发。