java-调用kettle4.2资源与任务-初级版本

来源:互联网 发布:守望先锋max录入数据 编辑:程序博客网 时间:2024/06/05 00:59

首先,需要引入jar包。




第二步,编写java类

package java2cettle;

import org.pentaho.di.core.KettleEnvironment;
import org.pentaho.di.core.Result;
import org.pentaho.di.core.exception.KettleException;
import org.pentaho.di.core.logging.LogWriter;
import org.pentaho.di.job.Job;
import org.pentaho.di.job.JobMeta;
import org.pentaho.di.repository.RepositoryDirectoryInterface;
import org.pentaho.di.repository.filerep.KettleFileRepository;
import org.pentaho.di.repository.filerep.KettleFileRepositoryMeta;
import org.pentaho.di.trans.Trans;
import org.pentaho.di.trans.TransMeta;
public class JAVA2Cettle01 {


public static void main(String[] args) throws KettleException{

//初始化kettle环境及参数
KettleEnvironment.init();
//初始化资源库对象的位置
       KettleFileRepositoryMeta repinfo = new KettleFileRepositoryMeta("","","kettle-zyk","D://kettle-4.2/ketlle-zyk");
//获得文件资源库对象
       KettleFileRepository rep = new KettleFileRepository(); 
       //System.out.println(rep.getTransformationID(transNmae,"D://kettle-4.2/ketlle-zyk"));
      // rep.init(repinfo);
       //初始化kettle转换对象
//====================执行转换=====================
       //取得转换元对象
       String transNmae="D://kettle-4.2/ketlle-zyk/ketlle-test01.ktr";   
       TransMeta transMetadel =  new   TransMeta(transNmae);
     
    //进行转换
       Trans trans=new Trans(transMetadel);  
       trans.execute(null);
       // 等待转换执行结束  
       trans.waitUntilFinished();
       
       //================执行job任务===================
       String jobName="D://kettle-4.2/ketlle-zyk/lettle-test01-job.kjb";
       LogWriter logs=LogWriter.getInstance("kettlelog.log", true);
       JobMeta jobelement=new JobMeta(jobName,null);
       Job job=new Job(null,jobelement);
      job.start();
      job.waitUntilFinished();
       
}
}
0 0
原创粉丝点击