对于刚开始使用kttle的我,使用了一段时间之后,在日常的工作会出现一些问题下面我就把问题总结一下,并且做一些简单的分析

使用Java读取kettle数据采集日志 kettle从结果获取记录无数据_表名

首先,我们需要建立一个转换如下:

使用Java读取kettle数据采集日志 kettle从结果获取记录无数据_数据库_02

 

1、常见错误一

使用Java读取kettle数据采集日志 kettle从结果获取记录无数据_数据库_03

分析:在使用kettle做ETL仓库时,SQL查询不能使用参数输入,否则就会出现报错,无法获取到数据

2、常见错误二

使用Java读取kettle数据采集日志 kettle从结果获取记录无数据_SQL_04

使用Java读取kettle数据采集日志 kettle从结果获取记录无数据_SQL_05

 

分析:出现错误的原因是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)、清除缓存再次执行

以上就是我遇到的一些问题以及分析解决的方法,希望对你有所启发。