原文转自:轻样知生 - 手把手教你使用Kettle JAVA API进行数据抽取 - Tylili
Kettle作为一款优秀的数据抽取程序,因为高效稳定的性能,一直被广大使用者所喜爱,并且还在国内广受好评。因为其本身使用纯JAVA编写,所以其JAVA API使用起来自然也是非常简便。虽然其本身自带的组件已经非常好用,并且能够满足丰富的场景。但可能有些场景下,我们可能需要通过其他的方式来实现,本篇我们将介绍Kettle的JAVA API的使用。
一、环境搭建
Pentaho官方仓库:https://nexus.pentaho.org/content/groups/omni
核心jar包的pom.xml配置如下:
<dependency>
<groupId>pentaho-kettle</groupId>
<artifactId>kettle-engine</artifactId>
<version>4.4.0-stable</version>
</dependency>
<dependency>
<groupId>pentaho-kettle</groupId>
<artifactId>kettle-core</artifactId>
<version>4.4.0-stable</version>
</dependency>
<dependency>
<groupId>pentaho-kettle</groupId>
<artifactId>kettle-db</artifactId>
<version>4.4.0-stable</version>
</dependency>
二、代码部分
1、初始化环境
public void initKettleEnvironment(HttpServletRequest request) throws KettleException {
if (KettleEnvironment.isInitialized()) {
return;
}
/**
* 为避免在部分网络环境中无法完成初始化,需要自行处理
*/
if (request == null) {
// 运行环境初始化
KettleEnvironment.init();
} else {
String userDir = System.getProperty("user.dir");
String kettleHome = request.getSession().getServletContext().getRealPath(File.separator "WEB-INF");
// 设置用户路径和系统环境,包括用户路径和主目录
System.setProperty("user.dir", kettleHome);
System.