java 调用KATTLE
/**
* 调用Transformation
* @param name
* @param contract_no
* @throws Exception
*/
public void runTransformation(String name, String contract_no)
throws Exception {
try {
if(!KettleEnvironment.isInitialized()){
KettleEnvironment.init();
}
EnvUtil.environmentInit();
TransMeta transMeta = new TransMeta(name);
Trans trans = new Trans(transMeta);
String[] param = { contract_no };
trans.execute(param);
trans.waitUntilFinished();
} catch (KettleException e) {
e.printStackTrace();
}
}
/**
* 调用job
* @param name
* @param contract_no
* @throws Exception
*/
public static void runJob(String jobname){
try {
if(!KettleEnvironment.isInitialized()){
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);
}
}