Pentaho Kettle二次开发(简单数据交换)之SpringBoot+Maven集成Kettle

本文详细介绍了如何在SpringBoot应用中通过Maven集成Kettle进行数据交换的步骤,包括引入Kettle的特定jar包和依赖注入。内容涵盖了Kettle转化的配置,如数据库属性、表名和字段配置,以及执行Kettle处理数据的两个关键步骤:配置数据处理规则和初始化Kettle运行环境。通过这个集成,实现了灵活可配置的数据库对表数据交换。
摘要由CSDN通过智能技术生成

自己在做集成时,网上信息都是零散的,在这里汇总一下,加一些自己的想法。
这里要实现一个简单的对库对表数据交换,并实现灵活可配置。
根据Kettle转化的特性,仅需要配置以下几个属性:
1.输入输出数据库属性
在这里插入图片描述
2.输入输出表名,输出数据表数据池,可设计灵活配置SQL限制范围。
在这里插入图片描述
3.字符串数组形式的输入输出表字段。
在这里插入图片描述

集成步骤
一,引入jar包
Maven仓库:kettle中央仓库里没有,需要单独在pom文件中引入。
    <repositories><!-- kettle中央仓库 -->
		<repository>
			<id>pentaho-public</id>
			<name>Pentaho Public</name>
			<url>http://nexus.pentaho.org/content/groups/omni</url>
			<releases>
				<enabled>true</enabled>
				<updatePolicy>always</updatePolicy>
			</releases>
			<snapshots>
				<enabled>true</enabled>
				<updatePolicy>always</updatePolicy>
			</snapshots>
		</repository>
	</repositories>
依赖注入:
        <!-- kettle ETL 相关 start -->
		<dependency>
			<groupId>pentaho-kettle</groupId>
			<artifactId>kettle-engine</artifactId>
			<version>${kettle.version}</version>
		</dependency>
		<dependency>
			<groupId>pentaho</groupId>
			<artifactId>metastore</artifactId>
			<version>${kettle.version}</version>
		</dependency>
		<dependency>
			<groupId>pentaho-kettle</groupId>
			<artifactId>kettle-core</artifactId>
			<version>${kettle.version}</version>
			<exclusions>
				<exclusion>
					<groupId>jug-lgpl</groupId>
					<artifactId>jug-lgpl</artifactId>
				</exclusion>
				<exclusion>
					<groupId>secondstring</groupId>
					<artifactId>secondstring</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>slf4j-log4j12</artifactId>
				</exclusion>
				<exclusion>
					<artifactId>xercesImpl</artifactId>
					<groupId>xerces</groupId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.xmlgraphics</groupId>
					<artifactId>batik-js</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>pentaho-kettle</groupId>
			<artifactId>kettle-dbdialog</artifactId>
			<version>${kettle.version}</version>
		</dependency>

		<dependency>
			<groupId>com.google.guava</groupId>
			<artifactId>guava</artifactId>
			<version>19.0</version>
		</dependency>
		<dependency>
			<groupId>com.verhas</groupId>
			<artifactId>license3j</artifactId>
			<version>1.0.7</version>
		</dependency>
		<!-- kettle ETL 相关 end -->
二,Kettle二次开发简述

参考自:https://blog.csdn.net/abcdefg367/article/details/84755435。

ktr文件:执行Kettle处理数据分为两步,

1.配置数据处理文件规则,导入导出,数据清洗等。
2.使用KettleEnvironment.init();初始化Kettle的运行环境。
3.使用TransMeta转化配置。
简单的数据交换转化,看代码,相比于参考文章,加了点代码注释。


import org.apache.commons.io.FileUtils;
import org.pentaho.di.core.KettleEnvironment;
import org.pentaho.di.core.database.DatabaseMeta;
import org.pentaho.di.core.exception.KettleDatabaseException;
import org.pentaho.di.core.exception.KettleXMLException;
import org.pentaho.di.core.plugins.PluginRegistry;
import org.pentaho.di.core.plugins.StepPluginType;
import org.pentaho.di.trans.Trans;
import org.pentaho.di.trans.TransHopMeta;
import org.pentaho.di.trans.TransMeta;
import org.pentaho.di.trans.step.StepMeta;
import org.pentaho.di.trans.steps.insertupdate.InsertUpdateMeta;
import org.pentaho.di.trans.steps.tableinput.TableInputMeta;

import java.io.File;


public class TransDemo {
   

    public static TransDemo transDemo;

    // from-表名
    public static String from_tablename = "tabletest";
    // from-表主键,集合模式,可以多主键
    public static
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值