Kettle是一款国外开源的ETL工具,纯java编写,可以在Windows、Linux、Unix上运行,数据抽取高效稳定。本人用的版本是6.1。
之前用kettle这个开源的ETL工具是用来做数据抽取的,这次测试有个需求,是做数据库数据的比对。验证源表到目标表的逻辑正确,从而利用源表自己写SQL逻辑,生成的结果和目标表去比对。这次想到了利用kettle的数据比较功能,来做这些数据校验。
这个任务主要是读取输入参数CSV里面的每行数据,填充到SQL的参数里面,然后执行两个SQL的比对,最后统计测试结果。
下面来看每一步的操作:
【清空上次结果】
如图,右键节点可以打开对应的Transformation。
public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException{
String resultFoldPath = getParameter("resultPath");
process(resultFoldPath);
return false;
}
public void process(String resultFoldPath) {
//