使用 kettle 做信息采集
最近在使用 Kettle 从一些分类信息网站采集数据,如这里的赶集网插件。基于这些采集插件,我们开发了一个教育行业的应用网站,这个网站可以从不同的分类信息网站、BBS采集教育行业的信息。[@more@]
关于 kettle 中文稳定版
Kettle 是一个优秀的开源 ETL 工具,用过它的开发人员都会为它的功能强大而折服,甚至成为了 Kettle Fans。 和很多流行开源软件一样,Kettl 不断增加新的功能,但同时也不断引入新的 bug,因此一直没有一个稳定的对中文友好的版本,这也是很多开发人员烦恼的事情。 在我们这几年从事 kettle 的开发和应用实施工作中,也做了很多 bug 修订和二次开发工作,有的汉化和修订也提交到了 kettle 的 trunk 分支中。 为了我们本身工作的需要,也为了满足 kettle fans 对中文稳定版的需要,我们计划开发 kettle 中文稳定版。 该版本以
使用 kettle 群发短信
在上一篇文章里描述了如何用kettle 群发邮件,群发邮件相对比较简单,这次我们来看看怎么用 kettle 群发短信。[@more@]本文内容详见:http://www.xgndata.com/biforum/topic-179-1.html本文所需软件从这里下载
制作 kettle 插件时,在 processRow 方法里的几个常用方法说明:
制作 kettle 插件时,在 processRow 方法里的几个常用方法说明:(转载请注明:http://pdi.itpub.net)//复制输入行的元数据,并设置为输出行的元数据。RowMetaInterface outputRowMeta = getInputRowMeta().clone();//构造一个新的输出列。方法一RowMetaInterface rowMeta = new RowMeta();Object[] rowData = new Object[1];int valtype = ValueMeta.getType("String");ValueMetaInterface valueMeta = new ValueMeta( “FieldName1”, valtype); valueMeta .setLength(-1);rowMeta.addValueMeta(valueMeta);RowMetaAndData met
pdf/word/ppt/... 文件读取插件 - 输入步骤
最近需要做一个 Common File Reader 的 kettle 插件,希望这个插件可以读取例如 PDF, WORD, PPT, WPS 等常见格式文件的内容,今天已经实现了第一步,读取 PDF 的功能。该插件是一个输入步骤, 它可以将读取到的 PDF 文件的每一页作为一行输入记录。下面是一个比较典型的应用例子: [@more@]这是一个简单的文件检索流程,可以用于小批量的文件检索,检索的输入,输出和规则都可以自定义,在这个例子里,我们可以这样定义:输入1 是一个目录,通过一个表达式(如 .*.pdf$)来指定只读取一个目录下的所有扩展名是pdf 的文件。输入2 是一个 exc
kettle 里的 NULL 和空字符串
在 kettle 里, NULL 和空字符串是不加区别的,就是说如果往数据库里插入一个空字符串,你会发现数据库里插入的是 NULL,这对 ORACLE 的 DBA 的来说可能是司空见惯的事情,但对于 SqlServer 和 Mysql 的 DBA 来说可能就是无法接受的事情。[@more@]最近在帮助一个使用的 Mysql 数据库的客户,修改 kettle 里的这个问题,在修改之前,觉得这个一个影响很大的问题,所以想在先到论坛看看大家对这个问题怎么看。官方论坛里对这个问题争论的比较激烈,下面是论坛里有关这一问题的讨论。http://forums.pentaho.org/showthread.php?t=68478
mondrian output 的插件和代码现在可以下载了。
mondrian output 的插件和代码现在可以下载了。这个插件可以把 mondrian 的查询结果以 excel 和 chart 的方式展现出来, 并放在 kettle 的结果文件里,继续处理,如作为邮件附件等。[@more@]src:http://wiki.pentaho.com/download/attachments/1049091/mondrianoutput_src.zip?version=1bin:http://wiki.pentaho.com/download/attachments/1049091/mondrian_output_plugin_distrib.zip?version=1或http://www.xgndata.com/download.htm
1 to N 数据同步和双向数据同步
最近在做两个数据同步的项目。第一个数据同步项目要求一个系统向多个系统同步,有些类似于 SqlServer 订阅发布的概念,不过一个源和多个目标的数据库的结构差别很大,是不同的应用系统。第二个数据同步项目要求在两个异构数据库系统之间进行双向同步。[@more@]对于第一个项目的需求,我们继续使用了以前开发的 kettle 数据同步插件,但因为原来的插件只支持1 to 1的同步,不支持1 to N 的同步。我 们又对这个插件做了扩展,增加了同步序号这个输入项,通过这个输入项,可以指定当前的同步是第几个同步。如下图:第二个项目由于时间的关系,
表增量输入步骤
增量抽取是应用项目中很常见的一种需求。在本 blog 前面的文章中对增量抽取的几种实现方式有比较详细的说明。这里要介绍的表增量输入步骤就是基于触发器这种方式以 kettle 插件的方式实现的。对于各类支持触发器的数据库,都可以使用这个插件来进行增量抽取。[@more@]基于触发器的增量抽取的主要思路就是对要增量抽取的数据表建立触发器来监控表的增、删、改操作。每当有对表的上述操作,操作影响到的记录或者记录的主键都会被保存到一个中间表中(我们称这个中间表为影子表,因为每个表都要有一个中间表来记录下对这个表的历史操作,象表
kettle 的 jasper report 插件
曾经做过一个 kettle 的 japser report 的插件,通过该插件可以给 kettle 增加报表的功能,它可以将 kettle 处理过的数据流转换为报表。在最近的项目中又用到了该插件,并做了一些改进,下面详细介绍一下这个 jasper report 插件。[@more@]下图是插件的界面截图:1. 报表定义文件:jrxml 文件名称,文件名里可以包括 kettle 变量。2. 输出文件:要输出的报表文件名。3. 输出格式:要输出的报表的格式,可以是 excel,pdf,html等格式。4. 参数: 输入报表里要用到的参数名称和参数值,参数值里可以包括 kettle 变量,如图中的 ${YESTERDAY
使用 Mondrian Output 作业项创建多维报表
Mondrian Output 作业项是我们最近开发的一个 Kettle 作业项, 该作业项的主要功能就是执行 MDX 查询, 并将结果生成一个 Excel 报表.Kettle 的转换里有一个 Mondrian Input 步骤,这个步骤可以执行一个 MDX 语句,并将产生的数据输出到下一个步骤。Mondrian Output 作业项的功能类似于 Mondrian Input 步骤。不过它是一个作业项, 它可以执行一个 MDX 语句,并将 Modrian 执行的结果输出到一个 Excel 文件中,同时该 Excel 文件将被加入到结果文件中,由后续的作业项来处理,如 Mail 作业项可以将该文件作为附件发送。Mondrian Output 作业项
最近做了一个 PDI 的 jasperreport 的插件
通过 PDI 处理过的数据可以直接出 Jasper 的报表了.cheer![@more@]