java中调用kettle转换文件 通过命令行也可以调用,然后java中调用命令行代码也可以;这样没有和java代码逻辑无缝集成。本文说明kettle5.1中如果通过其他api和java代码无缝集成;网上大多数资料都是低版本的,在kettle5.x中已经不能运行。 1、 需要哪些jar文
java中调用kettle转换文件
通过命令行也可以调用,然后java中调用命令行代码也可以;这样没有和java代码逻辑无缝集成。本文说明kettle5.1中如果通过其他api和java代码无缝集成;网上大多数资料都是低版本的,在kettle5.x中已经不能运行。
1、 需要哪些jar文件

以kettle开头的是必须,上图最下面三个也要;红色框中的两个是我测试转换用到的,分别是生成UUID和文件。
要是少了jar文件,运行程序一定报错,大家根据错误到kettle安装目录LIB中找相应的jar加到编译路径中。
立即学习“Java免费学习笔记(深入)”;
2、 示例说明如何通过java调用转换
示例是把一个excel的内容导入到数据中,excel只有两列,所以需要在kettle中生成一列uuid,然后导入到数据库中。

本支付接口的特点,主要是用xml文件来记录订单详情和支付详情。代码比较简单,只要将里面的商户号、商户key换成你自己的,将回调url换成你的网站,就可以使用了。通过这个实例也可以很好的了解一般在线支付接口的基本工作原理。其中的pay.config文件记录的是支付详情,order.config是订单详情
0
默认生成的uuid有‘-’间隔符,所以通过“Replace in string”替换为空;

excel步骤,使用了命名参数,所以要在转换配置设置命名参数。

示例代码如下:
publicclass KettleUtil2 {
public String RES_DIR = "res";
private String fullFileName ;
public KettleUtil2(String fileName){
fullFileName = System.getProperty("user.dir") + File.separator + RES_DIR;
fullFileName += File.separator + fileName;
}
/**
* 没有参数是,设置参数为null
* @param paras
*/
publicvoid runTransformation(Map<String,String> paras) {
try {
KettleEnvironment.init();
TransMeta transMeta = new TransMeta(fullFileName);
Trans transformation =new Trans(transMeta);
for(Map.Entry<String, String> entry: paras.entrySet()) {
transformation.setParameterValue(entry.getKey(), entry.getValue());
}
transformation.execute(null);
transformation.waitUntilFinished();
if (transformation.getErrors() > 0) {
thrownew RuntimeException(
"There wereerrors during transformation execution.");
}
} catch (KettleException e) {
System.out.println(e);
}
}
}最后调用代码如下:
publicclass EtlTest {
publicstaticvoid main(String[] args) {
KettleUtil2 etl = new KettleUtil2("testimport.ktr");
Map<String,String> para = new HashMap<String,String>();
//给转换中命名参数赋值
para.put("XlsName", "data");
etl.runTransformation(para);
}
}
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号