Java调用Kettle的作业和转换
文章目录
- 一、准备工作
- 二、使用步骤
- 1.引入Jar包
- 2.创建工具类
- 三、可能出现的问题
- 总结
一、准备工作
1、jdk必须是1.8以上。 2、创建好的Kettle的作业和转换文件
二、使用步骤
1.引入Jar包
2.创建工具类
代码如下(示例):
package test;import org.pentaho.di.core.KettleEnvironment;
import org.pentaho.di.core.util.EnvUtil;
import org.pentaho.di.job.Job;
import org.pentaho.di.job.JobMeta;
import org.pentaho.di.trans.Trans;
import org.pentaho.di.trans.TransMeta;/*** Kettle工具类* @author ZJW**/
public class KettleTrans {public static void main(String[] args) {String fileName="E:\\Kettle_Job\\copy_two_table\\two_to_one.ktr";callKettleTransformation(fileName);}/*** 调用Kettle作业* @param jobFileName*/public static boolean callKettleJob(String jobFileName){try{// 初始化KettleEnvironment.init();// 配置工作文件路径JobMeta jobMeta = new JobMeta(jobFileName,null);Job job = new Job(null,jobMeta);// 调用工作文件job.start();// 刷新job.waitUntilFinished();if(job.getErrors()>0){System.err.println("kettle作业工作文件异常,请校正后重新调用");return false;}else{System.err.println("-----------------------kettle作业工作文件执行成功!-----------------------");return true;}}catch (Exception e) {e.printStackTrace();System.err.println("Kettle作业工作执行失败。");return false;}}/*** 调用Kettle转换* @param jobFileName*/public static boolean callKettleTransformation(String jobFileName){try{// 初始化KettleEnvironment.init();EnvUtil.environmentInit(); // 配置工作文件路径TransMeta transMeta = new TransMeta(jobFileName);Trans transformation =new Trans(transMeta);// 调用工作文件transformation.execute(null);// 刷新transformation.waitUntilFinished();if(transformation.getErrors()>0){System.err.println("kettle转换工作文件异常,请校正后重新调用");return false;}else{System.err.println("-----------------------kettle转换工作文件执行成功!-----------------------");return true;}}catch (Exception e) {e.printStackTrace();System.err.println("Kettle转换工作执行失败。");return false;}}
}
三、可能出现的问题
1、缺Jar包,在Kettle的lib目录下找即可,如果不知道是哪个jar包,可自行百度。
2、jdk版本过低
更换JDK1.8以上的版本。
总结
个人总结,不喜勿喷。欢迎大佬指导。
Java调用Kettle的作业和转换相关推荐
- java 调用kettle job 传参_java调用kettle向job(任务)和transformation(转换)传递参数实例...
虽然网上文章有说java可以传递参数给kettle,不过只找到了传递参数给转换的文章,没有讲参数传递给job,kettle中如何使用java传递的参数.今天就以上问题,一并共享. /** * 本测试类 ...
- java调用kettle批量执行
java调用kettle批量执行 之前只做了一个java调用单一ktr的例子,在用web程序控制ETL数据抽取过程的时候,难免会遇到要执行一个复选框列表的ktr,那么前段传过来的就不仅仅是一个ktr: ...
- java调用kettle自定义kettle.properties配置文件路径
java调用kettle自定义kettle.properties配置文件路径 默认路径 java调用kettle的jar包时,在初始化环境的时候,会在指定路径创建并加载kettle的kettle.pr ...
- JAVA调用GDAL实现影像格式转换,以tif to jpg为例
前言 本文简单实现java调用GDAL实现影像格式转换. package Marcus.com;import org.gdal.gdal.Dataset; import org.gdal.gdal.D ...
- java调用kettle例子_Kettle API - Java调用示例
Kettle API - Java调用示例 对向前兼容性的推荐:如果想要动态地创造Transformation (例如:从元数据),使用XML文件方法(KTR)而不是使用API.XML文件兼容Kett ...
- 【Kettle】作业和转换中的内置变量
在作业和转换参数中使用Kettle内置变量,可以更方便的工作.下面是Kettle中常用的内置变量: 变量 描述 Internal.Kettle.Version 这是kettle的版本号,比如4.0.0 ...
- Java调用ffmepg+mencoder视频格式转换
PS: ffmpeg.rev12665.7z版本相当老了,有很多命令可能出现错误 其他格式转FLV格式,可以用Java调用ffmpeg和memcoder实现 ffmepg版本:ffmpeg.rev12 ...
- JAVA运行Kettle的JOB或者转换的总结
第一步,连接资源库 本例采用的是单例设计模式,这样做的优点是如果资源库已经连接,则不必重新连接 下面直接上代码 package com.qm.util; import java.io.File; im ...
- java调用Kettle返回JSON结果
所需的jar包,目前我掌握的程度只用这几个就OK了. 第一种 直接调用本地ktr,把结果返回成JSON , 但只支持写死的SQL.(因为JsonOutput控件获取字段的原因.) public cl ...
最新文章
- JavaScript语言基础13
- grep,但只有特定的文件扩展名
- java看log技巧_Log日志框架的学习五.正确使用日志的10个技巧
- python2异步编程_最新Python异步编程详解
- c++模板之函数模板
- 为什么淘宝上同样的东西,专卖店比官方旗舰店便宜?
- ssis 创建ssisdb_使用SSIS创建备份
- android组建之间通信_android组件间通信有哪些方式
- 产品介绍丨世炬5G一体化基站
- python语言绘制词云图
- 阿里云天池机器学习训练营(Day7, Day8):机器学习算法(三):K近邻(k-nearest neighbors)初探
- 【Maven打包报错解决方案】Using ‘UTF-8‘ encoding to copy filtered resources.
- python的pynput模块控制鼠标、键盘和监听鼠标、键盘事件
- Qt opengl fps相机
- txt文档在html中乱码怎么办,txt文件打开显示乱码怎么办?
- 室外管线lisp_利用Autocad lisp进行地下管线成果表制作方法的研究
- Python爬虫项目--批量爬取公司债券平台网公司信息并下载PDF
- 听 小城大事 大城大事 总结出来的故事(上篇)
- 华为一碰传nfc标签_NFC标签?NFC碰碰贴?NFC一碰传?只要6块钱4个,嘿嘿~
- 解决vue项目路由拦截跳转登录页错误