Kettle与Java集成——Java代码调取运行资源库的Transformation
来源:互联网 发布:南山区软件产业基地 编辑:程序博客网 时间:2024/06/02 04:01
下面代码是Java代码调用Kettle4.0版本的Transformation
1、Java读取资源库运行Transformation
(1)目录类型资源库Java代码
import org.pentaho.di.core.KettleEnvironment;import org.pentaho.di.core.exception.KettleException;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 ReaderTransFromRep {private static String tranName = "IM_KSDM"; // 传输名称public static void main(String[] args) throws KettleException {Trans trans=null;try {// 初始化KettleEnvironment.init();这个是4.0版本的初始化,和3.x版本的不同// 资源库元对象KettleFileRepositoryMeta repinfo = new KettleFileRepositoryMeta("","","数据采集","file:///E:/Workspaces/Kettle");// 文件形式的资源库KettleFileRepository rep = new KettleFileRepository();rep.init(repinfo);// 转换元对象if(tranName!=null){TransMeta transMetadel = rep.loadTransformation(rep.getTransformationID(tranName, null), null);// 转换trans = new Trans(transMetadel);// 执行转换trans.execute(null); // 等待转换执行结束trans.waitUntilFinished();//抛出异常if(trans.getErrors()>0){throw new Exception("There are errors during transformation exception!(传输过程中发生异常)");}}else{throw new KettleException("传输名为空!");}} catch (Exception e) {if(trans!=null){trans.stopAll();}e.printStackTrace();throw new KettleException(e);}} }
(2)数据库类型资源库
import org.pentaho.di.core.KettleEnvironment;import org.pentaho.di.core.database.DatabaseMeta;import org.pentaho.di.core.exception.KettleException;import org.pentaho.di.repository.RepositoryDirectory;import org.pentaho.di.repository.RepositoryDirectoryInterface;import org.pentaho.di.repository.kdr.KettleDatabaseRepository;import org.pentaho.di.repository.kdr.KettleDatabaseRepositoryMeta;import org.pentaho.di.trans.Trans;import org.pentaho.di.trans.TransMeta;public class ReaderTransFromDBRep {private static String transName="t1";public static void main(String[] args) {try {KettleEnvironment.init();DatabaseMeta dataMeta = new DatabaseMeta("KettleDBRep","MSSQL","Native","127.0.0.1","etl","1433","sa","bsoft");KettleDatabaseRepositoryMeta repInfo = new KettleDatabaseRepositoryMeta();repInfo.setConnection(dataMeta);KettleDatabaseRepository rep = new KettleDatabaseRepository();rep.init(repInfo);rep.connect("admin", "admin");RepositoryDirectoryInterface dir = new RepositoryDirectory();dir.setObjectId(rep.getRootDirectoryID());TransMeta tranMeta = rep.loadTransformation(rep.getTransformationID(transName, dir), null);Trans trans = new Trans(tranMeta);trans.execute(null);trans.waitUntilFinished();} catch (KettleException e) {e.printStackTrace();}}}
- Kettle与Java集成——Java代码调取运行资源库的Transformation
- Kettle与Java集成——Java代码调取运行资源库的Transformation
- java与kettle的集成DEMO
- java调用MySQL的kettle资源库时的编码问题
- Java集成kettle
- java 集成kettle
- [翻译]KETTLE JAVA API :编程定制自己的Kettle转换(transformation)
- ETL工具Pentaho Kettle的transformation和job集成
- Kettle 的资源库
- KETTLE——(一)资源库
- java应用程序中集成Kettle
- Etl工具之Kettle与java集成二
- Java调用Kettle时,报Can't run transformation due to plugin missing错误的解决方法
- java调用kettle中的资源库文件(job\trans)
- kettle 资源库的一些问题
- kettle插件——实现资源库中JOB和其关联的脚本的下载
- java通过kettle的API调用已经创建好的转换(transformation)或任务(job)
- kettle+java代码调用Webservice
- 界面美化之如何在关于对话框中添加荣誉效果框
- 构建通用版xpe系统
- 关于基于postgresQL的中文全文检索感受
- VC 下Microsoft Speech SDK开发小结
- Linux 动态库剖析
- Kettle与Java集成——Java代码调取运行资源库的Transformation
- Sipdroid涉及到的协议之RFC3261
- /bin/bash^M:损坏的解释器: 没有那个文件或目录
- Visual Leak Detector
- zz:给年轻程序员的几句话
- htb quantum of class 10001 is big. consider r2q change的解决方法
- sipdroid代码分析指导文章
- 实用链表(待续)
- uva 4723