zoukankan      html  css  js  c++  java
  • 运用Java调用Kettle Job和Trans(带参数)

    1.首先创建一个kettle trans

    image

    2.对表输入进行编辑

    image

    ${dateNow}为要传入的参数。

    3.代码编写

    首先需要把包导入

    image

    import org.pentaho.di.core.KettleEnvironment;
    import org.pentaho.di.core.exception.KettleException;
    import org.pentaho.di.job.Job;
    import org.pentaho.di.job.JobMeta;
    import org.pentaho.di.trans.Trans;
    import org.pentaho.di.trans.TransMeta;
    
    
    public class KettleTest {
    
        /**包
         * @param args
         * @throws KettleException 
         */
        public static void runJob(String jobFile) throws KettleException{
            KettleEnvironment.init();
            JobMeta jm = new JobMeta(jobFile,null);
            Job job = new Job(null,jm);
            job.setVariable("dateNow", "2016-01-05");
            job.start();
            job.waitUntilFinished();
        }
        
        public static void runTrans(String transFile) throws KettleException{
            KettleEnvironment.init();
            TransMeta tm = new TransMeta(transFile);
            Trans trans = new Trans(tm);
            trans.setVariable("dateNow", "2016-01-03");
            trans.execute(null);
            trans.waitUntilFinished();
        }
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            String fileName = "F:\zcr\工作空间\kettleWorkSpace\kettleTrans.ktr";
            try {
                runTrans(fileName);
            } catch (KettleException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    
        }
    
    }

    trans 通过 Trans.setVariable(String,String)传递参数。

    第一个参数就是ktr中的变量,比如上面的${dateNow}。我们可以通过Trans.setVariable(dateNow,”2016-01-05”)这个个函数把2016-01-05这个字符串赋给dateNow

    Job通过Job.setVariable(String,String)传递参数,用法和trans用法一致。

  • 相关阅读:
    关于params
    javascript判断gridview中的checkbox是否选中!
    读取Excel内容,导入数据库多张表!
    转向新页,控制页面大小并传值
    DropDownList分层显示!
    验证输入的是否数字的几种方法
    CentOS 6.5编译安装Nginx1.6.2+MySQL5.5.32+PHP5.3.27
    hdu 2425最短路
    hdu 2207水题
    hdu 3079水题
  • 原文地址:https://www.cnblogs.com/zcr3108346262/p/6530404.html
Copyright © 2011-2022 走看看