一、加載jar包到項目
kettle-core-7.0.0.0-25.jar
kettle-engine-7.0.0.0-25.jar
metastore-7.0.0.0-25.jar
mvn install:install-file -Dfile=/data/apps/studyP/kettleDemo/lib/kettle-core-7.0.0.0-25.jar -DgroupId=pentaho-kettle -DartifactId=kettle-core -Dversion=7.0.0.0-25 -Dpackaging=jar
mvn install:install-file -Dfile=/data/apps/studyP/kettleDemo/lib/kettle-engine-7.0.0.0-25.jar -DgroupId=pentaho-kettle -DartifactId=kettle-engine -Dversion=7.0.0.0-25 -Dpackaging=jar
mvn install:install-file -Dfile=/data/apps/studyP/kettleDemo/lib/metastore-7.0.0.0-25.jar -DgroupId=pentaho-kettle -DartifactId=metastore -Dversion=7.0.0.0-25 -Dpackaging=jar
- 引入依賴
<!-- 集成kettle -->
<dependency>
<groupId>pentaho-kettle</groupId>
<artifactId>kettle-core</artifactId>
<version>7.0.0.0-25</version>
</dependency>
<dependency>
<groupId>pentaho-kettle</groupId>
<artifactId>kettle-engine</artifactId>
<version>7.0.0.0-25</version>
</dependency>
<dependency>
<groupId>pentaho-kettle</groupId>
<artifactId>metastore</artifactId>
<version>7.0.0.0-25</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-vfs2</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>27.1-jre</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>4.5.6</version>
</dependency>
- 執行kettle 腳本代碼
@Test
public void test() throws KettleException {
// 初始化
KettleEnvironment.init();
// 加載文件
TransMeta transMeta = new TransMeta("C:\\Users\\lenovo\\Desktop\\klg_test_qy.ktr");
Trans trans = new Trans(transMeta);
// 放入參數,這裏其實可以從數據庫中取到,如果沒有參數,可以把這步忽略
// trans.setParameterValue("stade", "2019-04-24");
trans.prepareExecution(null);
trans.startThreads();
trans.waitUntilFinished();
}
-
參考