/**
* Kettle 4.2.0 版本测试通过
*/
package zhangxin.test;
import java.util.List;
import org.pentaho.di.core.KettleEnvironment;
import org.pentaho.di.core.exception.KettleException;
import org.pentaho.di.core.plugins.PluginRegistry;
import org.pentaho.di.core.plugins.RepositoryPluginType;
import org.pentaho.di.repository.ObjectId;
import org.pentaho.di.repository.RepositoriesMeta;
import org.pentaho.di.repository.Repository;
import org.pentaho.di.repository.RepositoryElementMetaInterface;
import org.pentaho.di.repository.RepositoryMeta;
import org.pentaho.di.repository.StringObjectId;
import org.pentaho.di.trans.Trans;
import org.pentaho.di.trans.TransMeta;
/**
* 登陆资源库,获取模型,运行
*
* @author zhangxin
*
*/
public class TestRepository {
/**
* @param args
* @throws KettleException
*/
public static void main(String[] args) throws KettleException {
// 运行环境初始化(设置主目录、注册必须的插件等)
KettleEnvironment.init();
RepositoriesMeta repositoriesMeta = new RepositoriesMeta();
// 从文件读取登陆过的资源库信息
repositoriesMeta.readData();
// 选择登陆过的资源库
RepositoryMeta repositoryMeta = repositoriesMeta.findRepository("4_2");
// 获得资源库实例
Repository repository = PluginRegistry.getInstance().loadClass(RepositoryPluginType.class, repositoryMeta.getId(), Repository.class);
repository.init(repositoryMeta);
// 连接资源库
repository.connect("admin", "admin");
ObjectId id = new StringObjectId("0");
// 获取某个资源库的所有转换
List<RepositoryElementMetaInterface> li = repository.getTransformationObjects(id, false);
TransMeta transMeta = null;
if (li != null) {
for (RepositoryElementMetaInterface repe : li) {
System.out.println("TRANSFORMATION:" + repe.getObjectId() + "name:" + repe.getName());
TransMeta tm = repository.loadTransformation(repe.getObjectId(), null);
if ("测试转换".equals(tm.getName())) {
transMeta = tm;
}
}
}
// 执行指定转换
Trans trans = new Trans(transMeta);
trans.execute(null);
trans.waitUntilFinished();
if (trans.getErrors() > 0) {
throw new RuntimeException("There were errors during transformation execution.");
}
repository.disconnect();
}
}
分享到:
相关推荐
手工整理的kettle资源库表中模型
PDI(kettle) 资源库的表结构以及关联关系图,表结构说明中是英文名称,中文的大概都能猜到是什么
kettle资源库的表说明。
kettle资源库的创建
kettle资源库表详解
kettle数据库资源库表的详细解释,包括各个表名,字段名等
Kettle 8.2 怎么连数据库资源库 1.为什么使用资源库 如果我们是团队开发项目,除了使用SVN等版本控制软件,还可以使用Kettle的资源库,他会将转换、作业直接保存在数据库中,而且,连接资源库的话,我们就不需要每...
KETTLE 资源库配置方法.pdf
kettle资源库表详细说明文档.xls
kettle转换、作业日志自动添加进资源库配置解决方案
Pentao官方提供的Kettle的插件开发示例。包含5中类型插件的示例。
使用kettle批量下载文件的示例代码,详细内容可以查看博客对应的文章。
kettle5.x示例.doc,用户手册.pdf
kettle 插件 开发示例
ETL工具,kettle资料库表结构word文档,详细介绍了kettle40多张表结构
使用Pentaho kettle 批量下载文件 的示例代码 包含三个文件,按执行顺序依次为:main.kjb、filelist.ktr、download.kjb。 压缩包中有2个版本的源码。 一个源码是从“txt文件”中读入URL路径,下载文件; 一个源码是...
该资源是简单的kettle学习记录,如何去抽取数据库数据,进行数据的操作,最后输出到数据库,可以跨数据库操作。
使用Kettle创建Job流程,完成对整套数据库的迁移操作