- 浏览: 284004 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
北方狼:
请问,当表格列数过多时,除了调整pdf页面宽度,能否设置分页显 ...
利用itext操作pdf从数据库导出大量数据--功能汇总(一) -
15817048604:
.....................
利用itext操作pdf从数据库导出大量数据--添加水印(四) -
laoma102:
顶个,谢楼主
代理模式,JDK动态代理,SpringAOP来龙去脉 -
穷途末路:
给力,谢谢分享
Excel2003和Excel2007对下拉选择和下拉级联选择的操作以及java程序的调用 -
weir2009:
复杂的交叉表crosstab 怎么处理?
利用itext操作pdf从数据库导出大量数据--功能汇总(一)
package com.zjhcsoft.kettle.test; import org.pentaho.di.core.KettleEnvironment; import org.pentaho.di.core.exception.KettleException; import org.pentaho.di.core.logging.CentralLogStore; import org.pentaho.di.core.logging.Log4jBufferAppender; import org.pentaho.di.core.plugins.PluginRegistry; import org.pentaho.di.core.plugins.RepositoryPluginType; import org.pentaho.di.core.util.EnvUtil; import org.pentaho.di.repository.ObjectId; import org.pentaho.di.repository.RepositoriesMeta; import org.pentaho.di.repository.Repository; import org.pentaho.di.repository.RepositoryMeta; import org.pentaho.di.repository.StringObjectId; import org.pentaho.di.trans.Trans; import org.pentaho.di.trans.TransMeta; public class TestKettle { /** * 执行转换方法--执行文件类型方式 * @author twr_wjz * @date 2011-11-17 * @param filename 转换文件路径 * @throws Exception */ public void runFileTransformation(String filename) { try { // 运行环境初始化(设置主目录、注册必须的插件等) KettleEnvironment.init(); EnvUtil.environmentInit(); //获取转换 TransMeta transMeta = new TransMeta(filename); Trans trans = new Trans(transMeta); // 执行指定转换You can pass arguments instead of null. trans.execute(null); // 等待转换执行结束 trans.waitUntilFinished(); /* * 抛出异常 */ if ( trans.getErrors() > 0 ) { throw new RuntimeException( "转换执行期间有错误。" ); } } catch ( KettleException e ) { // TODO Put your exception-handling code here. System.out.println(e); } } /** * 执行转换方法--连接资源库方式 * @author twr_wjz * @date 2011-11-17 * @param repID 资源库ID,如:1 ----建立资源库时,填写字段 * @param transformationID 转换ID--对应数据库中表r_transformation的ID_TRANSFORMATION * @param transformationVersion 转换版本--对应数据库中表r_transformation的TRANS_VERSION * @throws Exception */ /** * @param repID * @param transformationID * @param transformationVersion */ public void runRepTransformation(String repID,String transformationID,String transformationVersion) { try { // 运行环境初始化(设置主目录、注册必须的插件等) KettleEnvironment.init(); RepositoriesMeta repositoriesMeta = new RepositoriesMeta(); // 从文件读取登陆过的资源库信息 repositoriesMeta.readData(); // 选择登陆过的资源库 RepositoryMeta repositoryMeta = repositoriesMeta.findRepository(repID); // 获得资源库实例 Repository repository = PluginRegistry.getInstance().loadClass(RepositoryPluginType.class, repositoryMeta.getId(), Repository.class); repository.init(repositoryMeta); // 连接资源库 repository.connect("admin", "admin"); //设置转换ID ObjectId id = new StringObjectId(transformationID); //获取转换 TransMeta transMeta = repository.loadTransformation(id,transformationVersion); Trans trans = new Trans(transMeta); // 执行指定转换You can pass arguments instead of null. trans.execute(null); // 创建打印日志类 Log4jBufferAppender appender = CentralLogStore.getAppender(); // 等待转换执行结束 trans.waitUntilFinished(); //获取转换中的IU步骤 //InsertUpdate insertUpdate = (InsertUpdate)trans.findBaseSteps("IU").get(0); //String logText = appender.getBuffer(insertUpdate.getLogChannelId(), false).toString(); //System.out.println("日志打印开始\n"+logText+"\n打印日志结束。\n"); // 回收打印日志类 // CentralLogStore.discardLines(trans.getLogChannelId(),false); /* * 抛出异常 */ if ( trans.getErrors() > 0 ) { throw new RuntimeException( "转换执行期间有错误。" ); } repository.disconnect(); } catch ( KettleException e ) { // TODO Put your exception-handling code here. System.out.println(e); } } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub TestKettle testKettle = new TestKettle(); // testKettle.runFileTransformation("C:/111.ktr"); System.out.println(System.getProperty("user.dir")); System.out.println(System.getProperty("KETTLE_HOME")); System.setProperty("user.dir", "E:/myeclipseworkspace/testkettle/kettleconfig"); System.setProperty("KETTLE_HOME", "E:/myeclipseworkspace/testkettle/kettleconfig"); System.out.println(System.getProperty("user.dir")); System.out.println(System.getProperty("KETTLE_HOME")); testKettle.runRepTransformation("testkettle","1","1.0"); testKettle.runRepTransformation("testkettle","2","1.0"); } }
kettle配置目录变更后的代码配置如下
- TestKettle.rar (1.6 KB)
- 下载次数: 13
发表评论
-
利用itext操作pdf从数据库导出大量数据--功能汇总(一)
2013-10-21 00:25 15775【原始需求】 通过SQL及JDBC模式导出各类业务数据,以PD ... -
利用itext操作pdf从数据库导出大量数据--添加水印(四)
2013-10-21 00:16 4235【原始需求】 通过SQL及JDBC模式导出各类业务数据,以PD ... -
利用itext操作pdf从数据库导出大量数据--创建PDF表格(三)
2013-10-21 00:14 10179【原始需求】 通过SQL及JDBC模式导出各类业务数据,以PD ... -
利用itext操作pdf从数据库导出大量数据--创建PDF相关(二)
2013-10-21 00:12 4662【原始需求】 通过SQL及JDBC模式导出各类业务数据,以PD ... -
利用itext操作pdf从数据库导出大量数据--汇总(一)
2013-10-21 00:06 0【原始需求】 通过SQL及JDBC模式导出各类业务数据,以PD ... -
转载:hibernate原理及应用知识点
2011-10-22 12:45 2044SSH面试题总结 ... -
上传一个ssh整个的工程,方便搭建基于spring的web应用
2010-12-07 20:36 1086web有struts2,spring hibernate组件 ... -
PIO的EXCEL的写入和导出
2010-11-25 14:16 2228PIO的EXCEL的字体样式,边框样式,背景色样式,下拉选择, ... -
上一篇的flex的远程对象调用,flex和spring集成分页的jar和截图
2010-06-04 22:18 1480需要的jar如附件 返回结果不需要设定特别的java对象和ac ... -
flex远程对象调用,flex和spring的集成,分页
2010-06-04 21:58 2476这里讲解四个例子 1,使用flex的远程调用方式(java的B ... -
j2ee概念规范结构学习
2010-01-11 11:19 1235J2EE规范:就是把把一系 ... -
Jboss下开发ejb应用之一消息驱动bean的应用
2010-01-06 17:28 1922Jboss下开发ejb应用之一消息驱动bean的应用,这是一篇 ... -
Jboss下开发ejb应用之一实体bean的应用
2010-01-05 16:26 1365Jboss下开发ejb应用之一 ... -
Jboss下开发ejb应用之一会话bean的应用
2010-01-05 11:57 1418Jboss下开发ejb应用之一 ... -
根据dhlayer整理的输入提示下拉列表信息
2009-09-24 11:26 1264根据dhlayer整理的输入提示下拉列表信息 这里用的是网络下 ... -
log4j的项目引用
2008-08-06 08:51 1205最近写了一个利用log4j记录方法调用信息(方法名 时间 ... -
freemarker 中的is undefined错误
2008-08-05 16:36 2143freemarker 中的is undefined错误一般都是 ... -
jasperreport报表的使用
2008-06-10 14:24 14281. 下载ireport和jasperreport。不知道就b ... -
使用dwr错误总结
2008-05-26 19:19 17071.是否在spring容器中创建了bean 2.是否在dwr. ... -
开源组件的使用总结之二
2008-05-18 13:10 1156web service 不同项目 不同系统 不同物理位置的 ...
相关推荐
kettle是一款功能强大的数据集成工具,可以在java应用程序中集成应用,实现调用资源库上和本地的transformation和job。下面是kettle集成应用的详细知识点: 一、kettle资源库的配置 kettle中的Repository是存储元...
然而,在Java应用程序中集成Kettle,需要将相关的Jar包添加到项目的类路径中,以便能够调用其API来执行工作流或转换。 首先,要理解Java与Kettle的集成,我们需要知道Kettle的主要组件。Kettle由以下几部分组成: ...
2. 集成性:可以将Kettle作业无缝集成到现有的Java应用程序或服务中。 3. 自动化:便于自动化部署和执行,例如在持续集成/持续部署(CI/CD)流程中。 总结起来,这个压缩包提供的Java代码示例展示了如何使用Kettle...
Spring Boot是Spring框架的一个扩展,它简化了创建独立的、生产级别的基于Spring的应用程序的过程。通过自动配置和“起步依赖”(Starter Dependency),Spring Boot使得开发者能够快速启动并运行一个应用,而无需...
标题 "如何将JAVA程序集成到KETTLE中" 提示了我们,这个主题主要讨论的是如何在数据处理工具Kettle(也称为Pentaho Data Integration,简称PDI)中利用Java代码进行扩展和功能增强。Kettle是一个开源的数据集成平台...
JAR文件在Java应用程序中是代码的打包形式,它包含了一组类文件和其他资源。在Kettle中,JAR文件通常包含了特定的功能扩展或插件,例如自定义的数据转换步骤、连接器或者特殊功能实现。这些JAR文件被添加到Kettle的...
这种集成方式常用于需要在Java应用程序中触发数据处理流程的场景,例如定时任务、Web服务、批处理系统等,使得数据处理更加灵活和可控。 9. **性能优化** 考虑到性能,可以通过并发执行转换、缓存数据、优化SQL...
RabbitMQ 是一个流行的消息队列系统,用于应用程序之间的异步通信。 描述没有提供具体细节,但我们可以假设内容可能涵盖如何结合 Kettle 和 RabbitMQ 实现数据流的发布和订阅。这通常涉及以下几个关键知识点: 1. ...
而JavaScript作为一种广泛使用的脚本语言,能够与各种应用程序接口进行交互,包括Kettle的内部组件。 标题"《使用javascript访问kettle内部组件》示例代码"表明,我们将探讨如何使用JavaScript与Kettle进行交互,以...
Kettle提供了API和执行引擎,允许外部应用程序如Java程序与其交互。通过使用Kettle的`trans`和`job` API,可以启动、监控和控制转换(Transformation)和作业(Job)的执行。Kettle的核心类库包括`kettle-engine`和...
文件"KettleQuartz.java"可能包含了实现SpringBoot应用中Quartz调度器的代码,用于定时启动Kettle作业。而"pom.txt"应该是Maven的项目配置文件,其中列出了项目所依赖的库,包括Spring Boot、Kettle的Java API以及...
总之,Java调用Kettle通过引入相关jar包并利用其API,能够无缝地将强大的Kettle ETL功能集成到Java应用程序中,从而实现更复杂的业务逻辑和数据处理需求。这为开发人员提供了更大的灵活性,同时利用了Kettle的可视化...
这种集成通常需要配置Spark连接参数,如Master URL、Spark版本、应用程序名称等。 3. **Spark作业设计**:在Kettle中,用户可以使用`Job Spark.kjb`这样的文件来定义Spark作业。作业中可能包含启动Spark Context、...
Java调用Kettle的设计需求常见于企业级应用中,特别是在需要通过程序控制数据处理流程或自动执行特定任务时。这种方式不仅能够增强系统的灵活性,还能提高自动化程度。 #### 二、关键知识点详解 ##### 1. 初始化...
通过以上步骤,你可以成功地在Java应用程序中调用并执行Kettle的转换,实现数据集成和处理的需求。注意,Kettle的API文档和社区论坛是学习和解决问题的重要资源,可以在这里找到更多示例代码和实践经验。
8. **版本控制**:Kettle可以与其他版本控制系统(如Git)集成,便于团队协作和代码版本管理,这在企业环境中尤为重要。 通过分析和运行压缩包内的15个Kettle程序,你可以深入理解Kettle的工作流程,学习如何根据...
在IT行业中,SpringMVC是一个广泛使用的Java web框架,它为构建高效、可维护的Web应用程序提供了强大的支持。本资源包“SpringMVC精品资源--将kettle集成值web应用中,不再需打开kettle窗口运行,采用springmv.zip”...
3. **Spring MVC**:Spring MVC是Spring框架的一部分,用于构建Web应用程序。它遵循MVC模式,分离了业务逻辑、用户界面和数据访问。Spring MVC提供依赖注入、AOP(面向切面编程)、事务管理等功能,有助于简化开发和...
Java调用Kettle 5.3任务是一种在Java应用程序中集成Kettle(Pentaho Data Integration,也称为ETL工具)的方式,以便利用其强大的数据转换和加载功能。以下是对这个主题的详细解释: 1. **Kettle简介**:Kettle是一...