Java程式呼叫kettle中的job(.kjb)和Trans(.ktr)
- package com.p.serv.util;
- import org.pentaho.di.core.KettleEnvironment;
- import org.pentaho.di.core.exception.KettleException;
- import org.pentaho.di.core.exception.KettleXMLException;
- 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 KettleExecu {
- public static 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 static void runTrans(String filename) {
- try {
- 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");
- }
- } catch (KettleXMLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (KettleException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- public static void main(String[] args) {
- String jobname = "F:\\ETL\\kettle\\例子\\測試\\複製多表\\copymanytablejob.kjb";
- runJob(jobname);
- // String filename="D:/syslog_All/spoon/csv_fm.ktr";
- // runTrans(filename);
- }
- }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/76103/viewspace-2140269/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle Scheduler(4)job呼叫program和scheduleOracle
- 從java程式中呼叫其它程式 (轉)Java
- 在python程式中呼叫java程式碼PythonJava
- java 中對物件的呼叫Java物件
- kettle從入門到精通 第七十三課 ETL之kettle kettle呼叫http分頁介面教程HTTP
- Oracle Scheduler(5)job呼叫programOracle
- java jobJava
- PHP中呼叫JAVA,PHPJava
- kettle的安裝和部署
- Oracle中的jobOracle
- kettle從入門到精通 第八十三課 ETL之kettle kettle呼叫python且接收返回值Python
- kettle 裡的 NULL 和空字串Null字串
- java中呼叫npm模組JavaNPM
- kettle java.lang.OutOfMemoryError: Java heap spaceJavaError
- job呼叫儲存過程的注意事項儲存過程
- Java和groovy相互呼叫Java
- oracle中Job的操作Oracle
- Python程式碼解析: job = next(job for job in jobs if job.job_id == job_id)Python
- kettle從入門到精通 第五十七課 ETL之kettle呼叫儲存過程儲存過程
- java中呼叫groovy指令碼Java指令碼
- Python 指令碼中呼叫 Java 程式時 Classpath 錯誤Python指令碼Java
- KETTLE中Excel表輸入Excel
- Java程式設計中的HashSet和BitSetJava程式設計
- kettle從入門到精通 第八十課 ETL之kettle kettle中的json物件欄位寫入postgresql中的json欄位JSON物件SQL
- 如何在java類中呼叫websphere中的jndi物件JavaWeb物件
- Java魔法堂:呼叫外部程式Java
- java呼叫python程式碼JavaPython
- webview js和java相互呼叫WebViewJSJava
- java中呼叫dll檔案的步驟Java
- JNI:Java程式碼呼叫原生程式碼Java
- 一個JAVA程式呼叫外部程式的問題!(急)Java
- Java方法02:方法的定義和呼叫Java
- phpcms—— 內容中的附件呼叫和新增遠端地址的呼叫PHP
- (轉)Java中定義物件的時候,New和Null的記憶體呼叫Java物件Null記憶體
- Oracle中如何停用JOB及如何使用JOBOracle
- java中避免集合死鏈呼叫Java
- 如何在java中呼叫js方法JavaJS
- java中呼叫儲存過程Java儲存過程