- 浏览: 1089242 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (379)
- eclipse (6)
- java基础 (21)
- opencms (4)
- tomcat (10)
- kettle (13)
- spring (7)
- 生活点滴 (3)
- linux (61)
- database (1)
- php (4)
- mac (3)
- mysql (37)
- maven (5)
- Asterisk (2)
- android (4)
- birt (2)
- hadoop (52)
- pentaho (46)
- distributed (2)
- Storm (2)
- 数据挖掘 (1)
- cassandra (0)
- spark (0)
- greenplum (3)
- R (1)
- liferay (3)
- 深度学习 (2)
- 数学 (1)
- Docker (3)
- Rancher (2)
- html (1)
- oracle (0)
- 交易 (0)
- Davinci (0)
最新评论
-
gujunge:
劝退。不支持两步验证登录、复制Session无效
Linux下SecureCRT的替代品:PAC Manager -
huangtianleyuan:
各位大神,有没有集成好的,请不吝赐教 qq:375249222 ...
在Web中集成Kettle -
梦行Monxin商城系统:
Dapper,大规模分布式系统的跟踪系统 -
hunter123456:
您好,请问一下,pentaho5.X 以上的版本,在服务器上建 ...
pentaho 4.8 添加 kettle 文件资源库的支持 -
hunter123456:
你好!pentaho5上 cas 单点登录,除了 修改appl ...
作为一个BI开发人员,我要发布报表,元数据,OLAP的模型到BI服务器
原创文章,转载请注明出处:http://qq85609655.iteye.com/blog/1306555
上篇文章中Kettle4 Repository 操作示例 (登陆资源 ...
今天,想将kettle整合到web工程中。这个想法一出现,就马上查找资料,可惜资料太少,没有现成的。
后面查看源码。。。终于整合到web工程中,方法如下:
编写一个Servlet,工程启动时成功,顺利完成集成。
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>kettleapi4_2</display-name> <servlet> <servlet-name>KettleStartServlet</servlet-name> <servlet-class>zhangxin.kettle.servlet.KettleStartServlet</servlet-class> <load-on-startup>0</load-on-startup> <init-param> <param-name>dir</param-name> <param-value>/test</param-value> </init-param> <init-param> <param-name>jobname</param-name> <param-value>测试作业</param-value> </init-param> </servlet> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app>
Servlet代码如下:
package zhangxin.kettle.servlet; import java.io.File; import java.util.List; import javax.servlet.ServletConfig; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import org.pentaho.di.core.KettleEnvironment; import org.pentaho.di.core.Result; import org.pentaho.di.core.exception.KettleException; import org.pentaho.di.core.plugins.PluginRegistry; import org.pentaho.di.core.plugins.RepositoryPluginType; import org.pentaho.di.job.Job; import org.pentaho.di.job.JobMeta; import org.pentaho.di.repository.ObjectId; import org.pentaho.di.repository.RepositoriesMeta; import org.pentaho.di.repository.Repository; import org.pentaho.di.repository.RepositoryDirectoryInterface; import org.pentaho.di.repository.RepositoryElementMetaInterface; 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 KettleStartServlet extends HttpServlet { /** * */ private static final long serialVersionUID = 4122742794095256794L; public void init() throws ServletException { try { // 设置Kettle的初始化配置信息路径 initKettleEnvironment(); ServletConfig config=getServletConfig(); //通过 ServletConfig对象获取配置参数:dirverString String dir = config.getInitParameter("dir"); String jobname = config.getInitParameter("jobname"); executeJob(dir, jobname); } catch (KettleException e) { e.printStackTrace(); } } /** * 设置Kettle的初始化配置信息路径 * @throws KettleException */ private void initKettleEnvironment() throws KettleException { // 获得执行类的当前路径 String user_dir = System.getProperty("user.dir"); String kettleHome = this.getServletContext().getRealPath(File.separator + "WEB-INF"); // Kettle初始化需要修改相应的配置路径 System.setProperty("user.dir", kettleHome); System.setProperty("KETTLE_HOME", kettleHome); // 运行环境初始化(设置主目录、注册必须的插件等) KettleEnvironment.init(); // Kettle初始化完毕,还原执行类的当前路径 System.setProperty("user.dir", user_dir); } /** * Kettle执行Job * @throws KettleException */ public void executeJob(String dir, String jobname) throws KettleException { RepositoriesMeta repositoriesMeta = new RepositoriesMeta(); // 从文件读取登陆过的资源库信息 repositoriesMeta.readData(); // 选择登陆过的资源库 RepositoryMeta repositoryMeta = repositoriesMeta.findRepository("4_2"); // 获得资源库实例 Repository repository = PluginRegistry.getInstance().loadClass(RepositoryPluginType.class, repositoryMeta, Repository.class); repository.init(repositoryMeta); // 连接资源库 repository.connect("admin", "admin"); RepositoryDirectoryInterface tree = repository.loadRepositoryDirectoryTree(); RepositoryDirectoryInterface fooBar = tree.findDirectory(dir); JobMeta jobMeta = repository.loadJob(jobname, fooBar, null, null); // 执行指定作业 Job job = new Job(repository, jobMeta); job.start(); job.waitUntilFinished(); Result result = job.getResult(); result.getRows(); if (job.getErrors() > 0) { throw new RuntimeException("There were errors during transformation execution."); } repository.disconnect(); } }
这样就集成好了。。。
下面是工程的结构
工程中的包和资源如下
libraries=
../lib
../libext
../libext/commons
../libext/elasticsearch
../libext/feeds
../libext/google
../libext/hive
../libext/hl7
../libext/JDBC
../libext/jersey
../libext/jfree
../libext/mondrian
../libext/pentaho
../libext/poi
../libext/reporting
../libext/rules
../libext/salesforce
../libext/spring
../libext/web
../libext/webservices
../libswt
classpath=
../
../ui
../ui/images
../libext/mondrian/config
../libext/pentaho/pigConf
同时,将 kettle启动时自动生成的 .kettle 文件夹
拷贝到 WEB-INF文件夹下(因为文件夹.kettle 前面有个'点号'。造成文件夹没能在上面的工程结构图中显示)
评论
16 楼
huangtianleyuan
2016-11-05
各位大神,有没有集成好的,请不吝赐教 qq:375249222
15 楼
1321941138
2016-03-31
1282265122@qq.com 求楼主一份源码,非常感谢。。。
14 楼
fenggenqi
2016-03-15
545862701@qq.com 求楼主一份源码
13 楼
lw0018soft
2015-09-12
能否共享一份十分感谢,181818070@qq.com
12 楼
bettre
2015-06-08
楼主还有源码没?求一份儿。liyong.amy@qq.com,谢谢!
11 楼
runing9
2015-02-27
1021575030@qq.com
10 楼
runing9
2015-02-27
楼主,求源码!苦学中,请赐教!感谢大侠!
9 楼
高增强
2015-01-26
楼主有保留源代码吗?能否共享一份,邮箱:it_sir@126.com,十分感谢
8 楼
Rylai_CM
2014-08-11
楼主,我也要实现在tomcat中通过quartz调用kettle,但是到了KettleEnvironment.init();这里就会报错,所以也想把kettle加载到tomcat中,可否把源码分享与我,谢谢了,yiban_1101@126.com。
7 楼
qq85609655
2014-07-29
ads008 写道
请问下,我在web上调用kettle 的转换,因为我使用了自己开发的kettle插件,按楼主的说明放了plugins文件,但是启动还是报错
ERROR 14-07 10:34:47,883 - null - 一个数据库错误发生在从资源库文件读取转换时
org.pentaho.di.core.exception.KettleStepLoaderException:
Unable to load class for step/plugin with id [UpdateFlag
]. Check if the plugin is available in the plugins subdirectory of the Kettle distribution.
ERROR 14-07 10:34:47,883 - null - 一个数据库错误发生在从资源库文件读取转换时
org.pentaho.di.core.exception.KettleStepLoaderException:
Unable to load class for step/plugin with id [UpdateFlag
]. Check if the plugin is available in the plugins subdirectory of the Kettle distribution.
信息量太少,请加我QQ:85609655
6 楼
ads008
2014-07-14
请问下,我在web上调用kettle 的转换,因为我使用了自己开发的kettle插件,按楼主的说明放了plugins文件,但是启动还是报错
ERROR 14-07 10:34:47,883 - null - 一个数据库错误发生在从资源库文件读取转换时
org.pentaho.di.core.exception.KettleStepLoaderException:
Unable to load class for step/plugin with id [UpdateFlag
]. Check if the plugin is available in the plugins subdirectory of the Kettle distribution.
ERROR 14-07 10:34:47,883 - null - 一个数据库错误发生在从资源库文件读取转换时
org.pentaho.di.core.exception.KettleStepLoaderException:
Unable to load class for step/plugin with id [UpdateFlag
]. Check if the plugin is available in the plugins subdirectory of the Kettle distribution.
5 楼
Jz_lvcha
2014-03-11
楼主有保留源代码吗?能否共享一份,邮箱:woshizhujing@126.com,十分感谢
4 楼
20130710zsw
2013-12-08
楼主大才,我需要做个web数据交换平台,请求指点;
楼主有保留源代码吗?能否共享一份,邮箱:18240538751@163.com,十分感谢
楼主有保留源代码吗?能否共享一份,邮箱:18240538751@163.com,十分感谢
3 楼
xxf880324
2013-11-21
xxf880324 写道
wzmmao 写道
楼主有保留源代码吗?能否共享一份,邮箱:xxf880324@163.com,十分感谢
2 楼
xxf880324
2013-11-21
wzmmao 写道
楼主有保留源代码吗?能否共享一份,邮箱:wzmmao@163.com,十分感谢
1 楼
wzmmao
2013-06-06
楼主有保留源代码吗?能否共享一份,邮箱:wzmmao@163.com,十分感谢
发表评论
-
CentOS系统下docker的安装配置及使用详解
2016-02-22 15:35 22501 docker简介 Docker ... -
PDI(Kettle)5.3在windows下运行mapreduce
2015-03-19 14:48 2948原创文章,转载请注明出处:http://qq8560965 ... -
Kettle运行日志记录
2015-01-08 11:49 36878原创文章,转载请注明出处:http://qq8560965 ... -
SWT XULRunner and CentOS compatibility
2014-11-13 11:03 3826原创文章,转载请注明出处:http://qq8560965 ... -
kettle阿里云下载日志文件
2014-01-02 14:26 2016拖拽控件User Defined Java Class ... -
pentaho 4.8 添加 kettle 文件资源库的支持
2013-10-25 11:27 4630pentaho 4.8 添加 kettle 默认情况下只对 ... -
kettle hive 导入数据
2013-09-26 17:24 4231--append --hive-import - ... -
Pentaho Kettle發送郵件的配置
2013-09-05 14:38 2475前一段時間客戶要求用 Pentaho kettle 去發送 ... -
kettle中定义错误处理
2013-09-05 14:26 16134在kettle执行的过程中 ... -
KETTLE-命令行执行JOB
2013-07-24 09:48 63271.Kitchen——作业执 ... -
Kettle 4.2 解决文件资源库bug
2013-06-24 20:44 2495浏览资源库内容 如上图有两个按钮,第一个用于打开资源 ... -
Kettle4 Repository 操作示例 (登陆资源库,获取模型,运行)
2011-12-10 18:40 7876/** * Kettle 4.2.0 版本测试通过 * ...
相关推荐
将kettle集成值web应用中,不再需打开kettle窗口运行,并通过spring自动任务进行数据抽取,数据库采用数据源(jndi)的方式进行管理。配置简单方便。(之前需要kettle打开其运行环境,并配置数据库连接的相关信息)
4. **权限管理**: 在Web页面中集成Kettle Manager时,需要考虑权限控制。确保只有授权的用户可以访问和操作作业。这可以通过Kettle自身的用户认证或与企业现有认证系统(如LDAP、AD)集成来实现。 5. **界面设计**:...
项目概述:KettleWeb数据集成平台是一款基于Java与Web技术的开源数据集成工具。此平台源码基于Kettle原生版本6.1.0.1开发,扩展了Web端操作功能,便于用户进行数据集成工作。 技术栈:项目主要采用Java语言进行开发...
Java集成Kettle所有Jar包是一项常见的任务,尤其对于那些在数据处理、ETL(提取、转换、加载)项目中使用Kettle(也称为Pentaho Data Integration或PDI)的开发者来说。Kettle是一个强大的开源数据集成工具,它提供...
在Kettle中,可以通过多种方式实现数据采集,如使用"表输入"步骤连接到数据库提取数据,或者使用"文件输入"步骤读取CSV、Excel、XML等文件。在Web版的数据集成平台上,用户无需编写代码,只需通过拖放操作就能设定...
在Java集成Kettle执行过程中,需要注意异常处理,捕获并处理可能出现的错误。同时,Kettle提供了日志功能,可以通过配置日志级别和日志文件路径,记录执行过程中的信息,方便调试和问题定位。 8. **应用场景** ...
【标题】"Web版Kettle"指的是基于网页的Kettle数据集成工具,它允许用户在浏览器环境中进行数据处理和转换工作。Kettle是Pentaho Data Integration(PDI)项目的一部分,提供了一种图形化的界面,用于设计、执行和...
开发者可以查看源码中的`Step`和`Job Entry`类,了解如何创建自定义数据处理组件,并将其集成到Kettle中。 3. **数据流模型**:Kettle使用基于流的模型处理数据,每个步骤之间通过数据流连接。源码分析可以揭示这种...
在这个场景中,我们讨论的是Kettle的Web版,即"webKettle",它将Kettle的功能扩展到了Web环境中,使得用户可以通过浏览器在线进行ETL操作。 首先,我们来详细了解一下Kettle。Kettle由社区驱动,提供了一系列的数据...
想,kettle 集成到自己的web应用中。只要把kjb文件扔到webApp中就能够自动执行该JOB。可以初步解决项目问题。 附件是初步成果,web目录结构下源码。lib因为上传大小限制就没有上传,可以看.classPath文件 其实都是...
标题 "springboot整合kettle项目源码" 描述了一个基于Spring Boot框架的集成Kettle(Pentaho Data Integration,简称KDI)的工程实例。Kettle是一款强大的ETL(提取、转换、加载)工具,它允许开发者通过编写Java...
在标题和描述中提到的“kettle的web版本”,指的是Kettle的一种Web应用程序实现,让用户可以通过Web界面来管理和执行Kettle作业和转换。 这个web版本被称为Webspoon,是一个开源的、基于Java的Kettle客户端。...
2. **Web调度**:在Kettle中,Web调度意味着用户可以通过Web界面设置和管理调度任务,而无需直接在服务器上操作。这增强了系统的可访问性和易用性,使得非技术用户也能方便地管理数据集成流程。 3. **Spring MVC**...
将kettle集成值web应用中,不再需打开kettle窗口运行,采用springmvc+beetl_kettle-manager
在Java项目中集成Kettle,可以充分利用其丰富的数据转换和加载功能,提高数据处理的效率和灵活性。 1. **Kettle基础** - Kettle的核心是Job和Transformation。Job是任务流,用于组织一系列的Transformation和作业...
【标题】中的“基于Web版Kettle开发的一套分布式综合调度、管理、ETL开发的用户专业版BS架构工具”指的是使用Kettle(Pentaho Data Integration)进行ETL(提取、转换、加载)过程,并且是Web化的版本,便于在浏览器...
SpringBoot实现Kettle是将流行的Java Web框架Spring Boot与数据集成工具Kettle(Pentaho Data Integration,简称PDI)相结合的技术实践。Spring Boot以其快速启动、自动化配置和丰富的生态系统,为开发人员提供了...
《KettleWeb与KettleSpoon在大数据处理中的应用详解》 KettleWeb与KettleSpoon是两款在大数据处理领域广泛应用的工具,它们都属于Pentaho Data Integration(简称Kettle)的一部分。Kettle是一款强大的ETL(Extract...
对于开发人员来说,通过分析和学习这个版本的源代码,可以了解到如何将Kettle的功能嵌入到Web应用中,如何进行分布式数据处理,以及如何利用Kettle的强大能力来解决实际的数据集成问题。同时,了解最新的开发实践和...
本资源包“SpringMVC精品资源--将kettle集成值web应用中,不再需打开kettle窗口运行,采用springmv.zip”显然是针对如何在SpringMVC项目中集成Kettle(Pentaho Data Integration,一个开源的数据集成工具)进行的...