Kettle4.0 Java API调用
偶然机会,项目中要用到用Java代码调用Kettle脚本,于是找kettle官方资料,用他们提供的jar包,通过java代码来运行kettle脚本。发现官方提供的实例都只能用于kettle3.0版的脚本,4.0的根本不支持。反复搜索,终于在Matt的新书的附件中找到了Kettle 4.0 API的相关资料,该地址是:ftp://download:download@mediaftp.wiley.com/product_ancillary/77/04706351/DOWNLOAD/635179_downloads.zip。大家可以去下载。
调用JOB的示例:
“public void runJob(String jobname){
try {
KettleEnvironment.init();
//jobname 是Job脚本的路径及名称
JobMeta jobMeta = new JobMeta(jobname, null);
Job job = new Job(null, jobMeta);
//向Job 脚本传递参数,脚本中获取参数值:${参数名}
job.setVariable(paraname, paravalue);
job.start();
job.waitUntilFinished();
if (job.getErrors() > 0) {
System.out.println("decompress fail!");
}
} catch (KettleException e) {
System.out.println(e);
}
}”
调用Transformation示例:
“ public void runTrans(String filename) throws Exception {
KettleEnvironment.init();
TransMeta transMeta = new TransMeta(filename);
Trans trans = new Trans(transMeta);
trans.prepareExecution(null);
trans.startThreads();
trans.waitUntilFinished();
if (trans.getErrors()!=0) {
System.out.println("Error");
}
}”