package com.p.serv.util; import org.pentaho.di.core.KettleEnvironment; import org.pentaho.di.core.exception.KettleException; import org.pentaho.di.core.exception.KettleXMLException; import org.pentaho.di.job.Job; import org.pentaho.di.job.JobMeta; import org.pentaho.di.trans.Trans; import org.pentaho.di.trans.TransMeta; public class KettleExecu { public static void runJob(String jobname) { try { KettleEnvironment.init(); // jobname 是Job脚本的路径及名称 JobMeta jobMeta = new JobMeta(jobname, null); Job job = new Job(null, jobMeta); // 向Job 脚本传递参数,脚本中获取参数值:${参数名} // job.setVariable(paraname, paravalue); job.start(); job.waitUntilFinished(); if (job.getErrors() > 0) { System.out.println("decompress fail!"); } } catch (KettleException e) { System.out.println(e); } } // 调用Transformation示例: public static void runTrans(String filename) { try { KettleEnvironment.init(); TransMeta transMeta = new TransMeta(filename); Trans trans = new Trans(transMeta); trans.prepareExecution(null); trans.startThreads(); trans.waitUntilFinished(); if (trans.getErrors() != 0) { System.out.println("Error"); } } catch (KettleXMLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (KettleException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String[] args) { String jobname = "F:\\ETL\\kettle\\例子\\测试\\复制多表\\copymanytablejob.kjb"; runJob(jobname); // String filename="D:/syslog_All/spoon/csv_fm.ktr"; // runTrans(filename); } }
相关推荐
在Kettle的图形界面 Spoon 中,你可以设计并保存这些Job和Transformation为.kjb和.ktr文件。 在Java中调用Kettle Job或Transformation,你需要使用`TransMeta`和`Trans`(对于Transformation)或`JobMeta`和`Job`...
此外,如果需要在Java应用中执行Kettle而不需要等待其完成(例如,作为异步任务),可以使用`Trans.execute()`和`Job.execute()`的非阻塞版本,这些版本接受一个回调接口,可以在Kettle流程完成后调用。 总之,Java...
Kettle的核心类库包括`kettle-engine`和`kettle-core`,它们包含必要的接口和实现,使得Java代码能够调用KTR(转换文件)和KJB(作业文件)。 2. 调用KTR文件(转换): - 加载转换:使用`TransMeta`类解析KTR文件...
Java调用Kettle,即Pentaho Data Integration(Kettle),是一种常见的集成方式,用于在Java应用程序中执行由Kettle创建的数据处理作业(.kjb)和转换(.ktr)。Kettle是一款强大的ETL(提取、转换、加载)工具,...
Java调用Kettle是将Java程序与Pentaho Kettle(也称为Kettle或 Spoon)集成,以便在Java环境中执行Kettle的作业(Job)和转换(Transformation)。Kettle是一款强大的ETL(提取、转换、加载)工具,它提供了一种图形...
总的来说,Java调用Kettle Job和Tran提供了高度灵活的数据处理能力,使得开发者能够轻松地将Kettle的工作流集成到更大的应用程序或自动化环境中。在实际项目中,还需要注意性能优化、错误处理和日志记录,以确保可靠...
本篇笔记主要探讨如何利用Java调用Kettle API来执行转换(Transformation)和作业(Job),以及如何通过Java代码生成Kettle转换。 首先,理解Kettle的基本概念是必要的。转换是数据清洗、转换和加载过程的逻辑单元...
2. 创建Transformation或Job对象:使用`TransMeta`和`Trans`(或`JobMeta`和`Job`)类加载和解析.ktr或.kjb文件。 3. 设置执行参数:根据需要,可以设置转换或工作的参数。 4. 创建Executor:对于Transformation,...
在上述文件内容中,涉及的知识点主要集中在Java代码如何调用和执行Pentaho数据集成(Kettle)的任务。Pentaho数据集成,俗称Kettle,是一款开源的ETL(抽取、转换和加载)工具,用于数据转换和数据集成。以下是对...
Java集成Kettle执行作业文件是将Java程序与Pentaho Data Integration(Kettle)工具结合,以实现数据处理和转换的自动化。Kettle是一款强大的ETL(Extract, Transform, Load)工具,它允许用户通过图形化界面创建...
在Java应用程序中调用Kettle,可以利用其丰富的数据处理功能,实现数据转换和整合的自动化。 要成功地在Java中调用Kettle,首先需要获取到相关的jar包。这些jar包提供了Java API,使得能够通过编程方式启动和控制...
Java调用Kettle的jar是将Java程序与Kettle(Pentaho Data Integration,简称PDI)集成的技术,使得在Java应用中可以执行Kettle的工作流(KTR)文件。Kettle是一个开源的数据集成工具,提供了强大的ETL(Extract, ...
Java API使得开发者可以在Java程序中调用PDI的Job和Transformation,实现自动化处理数据任务。 1. **Kettle简介**:Kettle是一个开源的数据集成工具,它提供了一种图形化的界面来创建Job和Transformation。Job是...
这些文件实际上包含了数据处理的步骤和逻辑,可以被Java程序调用执行。Kettle的脚本语言是一种基于XML的格式,使得这些文件易于阅读和理解。 三、Java调用Kettle脚本 在实际应用中,我们可能需要在Java程序中集成...
`运行日志测试.kjb`和`测试Job日志记录.kjb`这两个文件很可能是用于演示如何配置和使用Kettle Job的日志记录功能。Job是Kettle中的一个高级概念,它由一系列相互关联的Transformation和控制流组成,用于组织复杂的...
在本文中,我们将探讨如何在自己的应用程序中集成Kettle,通过`TestKettle.java`这个示例文件,深入理解Kettle的API使用和集成过程。 1. **Kettle简介** Kettle的核心在于它的Job和Transformation概念。Job是执行...
你可以通过创建新的 Transformation 并保存为 `.ktr` 文件,将转换过程保存到本地,如 `D:/etltest/Trans.ktr`。Transformation 包含 Steps(转换环节)、Hops(节点连接)和 DB 连接等元素。 2. **Job**:Job 是...
创建一个新的 transformation,点击保存到本地路径,例如保存到 D:/etltest 下,保存文件名为 Trans,kettle 默认 transformation 文件保存后后缀名为 ktr。 2. 创建一个新的 job,点击保存到本地路径,例如保存到...
- 创建一个新的Job,同样点击保存到本地路径,例如保存到D:/ETLTEST下,保存文件名为Job,Kettle默认Job文件保存后缀名为`.kjb`。 **注意**:在构建流程图时,可以按住Shift键+鼠标拖动来建立各环节之间的连接。 *...