1.项目创建;
本人测试使用 maven 来创建的项目。
创建完毕后,添加 kettle jar 包;
将上面类加入到classpath,
同时还需要加入两个依赖:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-vfs2</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>org.scannotation</groupId>
<artifactId>scannotation</artifactId>
<version>1.0.3</version>
</dependency>
2.运行代码:
//数据库连接元对象
DatabaseMeta dataMeta = new DatabaseMeta("kettle", "MYSQL", "Native", "192.168.1.100", "kettle", "3306", "root", "123456");
//资源库元对象
KettleDatabaseRepositoryMeta repInfo = new KettleDatabaseRepositoryMeta();
repInfo.setConnection(dataMeta);
//资源库
KettleDatabaseRepository repository = new KettleDatabaseRepository();
repository.init(repInfo);
repository.connect("admin", "admin");
RepositoryDirectoryInterface directory = repository.loadRepositoryDirectoryTree();
directory = directory.findDirectory("/");
TransMeta transMeta = repository.loadTransformation("ndmp-etl-jianfei-trans", directory, new DefaultProgressMonitorListener(), true, "1.0");
Trans trans = new Trans(transMeta);
trans.execute(null);
trans.waitUntilFinished();
JobMeta jobMeta = repository.loadJob("test-job", directory, new DefaultProgressMonitorListener(), null);
Job job = new Job(repository, jobMeta);
job.setDaemon(true);
job.setLogLevel(LogLevel.DEBUG);
job.run();
job.waitUntilFinished();