﻿<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Alex的个人Blog &#187; Kettle</title>
	<atom:link href="http://www.gemini5201314.net/category/kettle/feed" rel="self" type="application/rss+xml" />
	<link>http://www.gemini5201314.net</link>
	<description>关注数据库，网站架构,商业智能和八卦</description>
	<lastBuildDate>Tue, 07 Sep 2010 02:50:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Kettle 的性能测试说明</title>
		<link>http://www.gemini5201314.net/etl/kettle-%e7%9a%84%e6%80%a7%e8%83%bd%e6%b5%8b%e8%af%95%e8%af%b4%e6%98%8e.html</link>
		<comments>http://www.gemini5201314.net/etl/kettle-%e7%9a%84%e6%80%a7%e8%83%bd%e6%b5%8b%e8%af%95%e8%af%b4%e6%98%8e.html#comments</comments>
		<pubDate>Fri, 16 Jan 2009 06:16:17 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[ETL]]></category>
		<category><![CDATA[Kettle]]></category>

		<guid isPermaLink="false">http://www.gemini5201314.net/?p=202</guid>
		<description><![CDATA[我之前的一篇文章写到Kettle 的一些性能测试的说明, http://www.gemini5201314.net/?p=129 主要比较了kettle 和talend 在读和写方面的性能测试, 由于有代码可以自己运行, 每个人都可以试一下结果, 一个ETL转换肯定会有写的步骤,所以主要说明一下同时有读和写的情况 文件大小为2.4GB , Kettle 单步骤运行的时候, 读大概:12 – 18M/s , 写大概14M/s , 平均0.7GB/min. &#160; &#160; 2步骤运行的时候, 读还是12-18 M/s , 写大概18M/s ,平均1.0GB/min , 写是在两个文件上, 但是还是由一个物理磁盘来写的. 运行这个测试的机器是普通的笔记本电脑,估计硬盘的缓存大小为16M/s , 由于写的时候是Linux 系统(kubuntu 8.10), 所以写的速度最大可以略微超过一点. &#160; 我在自己的电脑上也测试过这个转换任务, 读大概是18-20M/s , 写只有接近600M/min , 之所以速度慢的原因是我的物理磁盘比较慢, 磁盘是Maxtor 的, 缓存大小只有8M/s , 所以一分钟的最大速度只可能有8*60M/min = 480M/min , 所以我的写速度大概是600M /min 不到是正常的. [...]]]></description>
			<content:encoded><![CDATA[<p>我之前的一篇文章写到Kettle 的一些性能测试的说明,</p>
<p><a title="http://www.gemini5201314.net/?p=129" href="http://www.gemini5201314.net/?p=129">http://www.gemini5201314.net/?p=129</a></p>
<p>主要比较了kettle 和talend 在读和写方面的性能测试, 由于有代码可以自己运行, 每个人都可以试一下结果,</p>
<p>一个ETL转换肯定会有写的步骤,所以主要说明一下同时有读和写的情况</p>
<p>文件大小为2.4GB , Kettle 单步骤运行的时候, 读大概:12 – 18M/s , 写大概14M/s , 平均0.7GB/min.</p>
<p>&#160;</p>
<p><a href="http://www.gemini5201314.net/wp-content/uploads/2009/01/sshot2.png"><img title="sshot-2" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="137" alt="sshot-2" src="http://www.gemini5201314.net/wp-content/uploads/2009/01/sshot2-thumb.png" width="354" border="0" /></a> </p>
<p>&#160;</p>
<p>2步骤运行的时候, 读还是12-18 M/s , 写大概18M/s ,平均1.0GB/min , 写是在两个文件上, 但是还是由一个物理磁盘来写的.</p>
<p><a href="http://www.gemini5201314.net/wp-content/uploads/2009/01/sshot3.png"><img title="sshot-3" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="144" alt="sshot-3" src="http://www.gemini5201314.net/wp-content/uploads/2009/01/sshot3-thumb.png" width="363" border="0" /></a> </p>
<p>运行这个测试的机器是普通的笔记本电脑,估计硬盘的缓存大小为16M/s , 由于写的时候是Linux 系统(kubuntu 8.10), 所以写的速度最大可以略微超过一点.</p>
<p>&#160;</p>
<p>我在自己的电脑上也测试过这个转换任务, 读大概是18-20M/s , 写只有接近600M/min , 之所以速度慢的原因是我的物理磁盘比较慢, 磁盘是Maxtor 的, 缓存大小只有8M/s , 所以一分钟的最大速度只可能有8*60M/min = 480M/min , 所以我的写速度大概是600M /min 不到是正常的.</p>
<p>由于这个任务的CPU 利用率也比较高,都会达到100% , 所以更强的CPU 也可以提高速度.</p>
<p>关于查看硬盘的信息由多种方式,我是在windows 下, 所以可以使用windows 优化大师的硬件查看功能,如下图: 缓存只有8M/s , 所以速度不是很快, 如果有更快的物理磁盘,这个转换任务会更快.</p>
<p><a href="http://www.gemini5201314.net/wp-content/uploads/2009/01/kettlepenformancedisk.jpg"><img title="kettle penformance disk" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="352" alt="kettle penformance disk" src="http://www.gemini5201314.net/wp-content/uploads/2009/01/kettlepenformancedisk-thumb.jpg" width="431" border="0" /></a> </p>
<p>Linux 下可以使用iostat 命令,比如原测试环境就是使用iostat –k 5 来测试的,硬盘缓存大小为16M/s , 其他的Linux 命令比如hdparm 也可以帮你了解你的硬盘(hdpart –T /dev/sda ) , 或者使用一些专用的IO 测试工具,比如oracle 的orion 之类的.</p>
<p>另外注意这个转换有一些参数需要注意一下, 文件读写尽量使用CSV 文件或者Fixed Text 文件, 这是使用NIO 优化过了的, 注意NIO Buffer 的大小,里面设置的是50M , 文件大的时候就设置大一点, lazy convertion 开启了, 文件格式记得要fast data dump (不开启的话,比较耗CPU,根据你需要决定), </p>
<p><a href="http://www.gemini5201314.net/wp-content/uploads/2009/01/sshot4.png"><img title="sshot-4" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="246" alt="sshot-4" src="http://www.gemini5201314.net/wp-content/uploads/2009/01/sshot4-thumb.png" width="512" border="0" /></a> </p>
<p>&#160;</p>
<p>另外不要误以为左边Slave Server 有几个server 就认为这个转换是在cluster 下执行的, 左边的slave server 跟这个完全没关系, 上面CSV 步骤上写的 &quot;x2&quot; 是指这个转换步骤的copy number ,你在这个转换步骤上右键点击选&quot;change number of copys to start&quot; 里面填上你需要的copy number ,&#160; 集群的配置是根据你的slaver 数量来决定的,你是不能手工输入多少slaver 来执行,而且他是在步骤的右上角写&quot;Cx2&quot; ,而不是左上角的&quot;x2&quot; .&#160;&#160; 当然, 虽然这个转换本身是单机的,但是即使换在cluster 环境下执行,也是同时可以既有集群数,也有copy number 的.</p>
<p>&#160;</p>
<p>这个转换是以文件为主, 如果你在大批量的导入文件到数据库的时候,还是建议使用数据库本身的特有的Bulk Loader , Kettle 也有不少的插件可以支持特定数据库的Bulk Loader 操作, 比如目前已经有Oracle Bulker Loader, Greenplum Bulker ,Postgresql Bulk Loader ,LucideDB Bulk Loader . 相当于在数据库的客户端(Kettle 运行转换的服务器端)执行, 本身要指定你的数据库安装的目录文件位置. 集群的话当然也要保证在每一个Kettle 运行的服务器端都安装好了数据库的客户端软件,不然转换肯定会出错.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gemini5201314.net/etl/kettle-%e7%9a%84%e6%80%a7%e8%83%bd%e6%b5%8b%e8%af%95%e8%af%b4%e6%98%8e.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kettle 的JDBC Driver</title>
		<link>http://www.gemini5201314.net/etl/kettle-%e7%9a%84jdbc-driver.html</link>
		<comments>http://www.gemini5201314.net/etl/kettle-%e7%9a%84jdbc-driver.html#comments</comments>
		<pubDate>Sun, 11 Jan 2009 05:41:38 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[ETL]]></category>
		<category><![CDATA[Kettle]]></category>

		<guid isPermaLink="false">http://www.gemini5201314.net/?p=184</guid>
		<description><![CDATA[随着越来越多的企业开始重视数据仓库的建设,而在非数据仓库方面,SOA的流行越发对数据集成有更多的依赖,所以不少的ETL工具提供商都开始称自己的产品有&#34;数据集成解决方案&#34;. 传统的ETL大概有以下几种实现方式: 图形化设计器生成XML设计文件,然后有个engine 执行 图形化设计器生成某种编程语言代码,然后执行代码 使用某种ETL 引擎框架, 通过编程来执行ETL任务 手工写代码执行 &#160; 每一种方式实际上都不能完全解决各种复杂的企业数据集成的需求,图形设计器设计出来虽然方便,维护轻松,但是不够灵活,对于传参数,动态判断条件,跟企业已有系统集成较为困难,而使用编程或ETL执行引擎虽然能解决前面的缺点,但是太过复杂,维护成本高,需要比较多的技巧. Kettle 作为第一种ETL工具, 虽然在功能和易用性上做的不错,但是如果你要从一个已有的程序里面传参数,或者根据一些动态条件来修改设计文件,甚至完全不依赖设计器用编程的方式实现ETL任务基本上都是不可能的. 新出现的kettle jdbc driver 则一部分解决了上述问题, 通过像sql 一样的语法从一个kettle 转换里面取出结果,然后在程序里面使用. 它可以取出任意步骤的结果. &#160; 它里面提供的演示是基于pentaho 的,如果不是很懂pentaho 的话建议用文本编辑器打开看一下就好了,而且都是报表的演示,可能不一定都看得懂. 如果想用的话还需要研究一下. &#160; 这个项目在google 上, 同时有国内的一位朋友qinhui99 参与, 有兴趣可以去看一下他的个人主页: http://qinhui99.itpub.net/ &#160; &#160; 参考资料 http://code.google.com/p/jdbckettle/ jdbc kettle 的主页]]></description>
			<content:encoded><![CDATA[<p>随着越来越多的企业开始重视数据仓库的建设,而在非数据仓库方面,SOA的流行越发对数据集成有更多的依赖,所以不少的ETL工具提供商都开始称自己的产品有&quot;数据集成解决方案&quot;. 传统的ETL大概有以下几种实现方式:</p>
<ol>
<li>图形化设计器生成XML设计文件,然后有个engine 执行</li>
<li>图形化设计器生成某种编程语言代码,然后执行代码</li>
<li>使用某种ETL 引擎框架, 通过编程来执行ETL任务</li>
<li>手工写代码执行</li>
</ol>
<p>&#160;</p>
<p>每一种方式实际上都不能完全解决各种复杂的企业数据集成的需求,图形设计器设计出来虽然方便,维护轻松,但是不够灵活,对于传参数,动态判断条件,跟企业已有系统集成较为困难,而使用编程或ETL执行引擎虽然能解决前面的缺点,但是太过复杂,维护成本高,需要比较多的技巧.</p>
<p>Kettle 作为第一种ETL工具, 虽然在功能和易用性上做的不错,但是如果你要从一个已有的程序里面传参数,或者根据一些动态条件来修改设计文件,甚至完全不依赖设计器用编程的方式实现ETL任务基本上都是不可能的.</p>
<p>新出现的kettle jdbc driver 则一部分解决了上述问题, 通过像sql 一样的语法从一个kettle 转换里面取出结果,然后在程序里面使用. 它可以取出任意步骤的结果.</p>
<p>&#160;</p>
<p>它里面提供的演示是基于pentaho 的,如果不是很懂pentaho 的话建议用文本编辑器打开看一下就好了,而且都是报表的演示,可能不一定都看得懂. 如果想用的话还需要研究一下.</p>
<p>&#160;</p>
<p>这个项目在google 上, 同时有国内的一位朋友qinhui99 参与, 有兴趣可以去看一下他的个人主页:</p>
<p><a title="http://qinhui99.itpub.net/" href="http://qinhui99.itpub.net/">http://qinhui99.itpub.net/</a></p>
<p>&#160;</p>
<p>&#160;</p>
<p>参考资料</p>
<p><a title="http://code.google.com/p/jdbckettle/" href="http://code.google.com/p/jdbckettle/">http://code.google.com/p/jdbckettle/</a></p>
<p>jdbc kettle 的主页</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gemini5201314.net/etl/kettle-%e7%9a%84jdbc-driver.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kettle 不能启动ClassNotFoundException</title>
		<link>http://www.gemini5201314.net/etl/kettle-%e4%b8%8d%e8%83%bd%e5%90%af%e5%8a%a8classnotfoundexception.html</link>
		<comments>http://www.gemini5201314.net/etl/kettle-%e4%b8%8d%e8%83%bd%e5%90%af%e5%8a%a8classnotfoundexception.html#comments</comments>
		<pubDate>Tue, 30 Dec 2008 03:37:19 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[ETL]]></category>
		<category><![CDATA[Kettle]]></category>

		<guid isPermaLink="false">http://www.gemini5201314.net/?p=159</guid>
		<description><![CDATA[我个人重来都是没有碰到过这个错误的,不过最近有个朋友从itput 看到我写的关于kettle 的文章,问我这个问题, 后来找到几种可能性, 主要可能是发生在Windows 2000 上, 我用的是xp&#160; ,还没碰到过, windows 2000 的command line 最大可以有2047 个字符,xp是8091 , kettle 3.0 之后加载的东西太多了,所以有些jar 加不进去,解决办法如下: 1. 把kettle 尽量放在顶层目录比如 E:/pdi 下,减少字符长度 2. 把libext/JDBC 目录下的不用的数据库驱动删掉,比如你只用mysql 和oracle 就只保留mysql-connect-xxx.jar 和ojdbc12.jar 其他的都删掉, 3. 在xp 系统下把cmd.exe 文件拷贝到2000 下, 这个字符串长度限制是写死的,xp 的长度限制为8091. &#160; 另外需要注意的是至少需要jdk 1.5 以上才能运行, 1.4 是不行的, 我用的是jdk 1.6 的, 点那个kettle.exe 文件它还报错说要jdk 1.5 , 不用exe 文件启动,直接点spoon.bat 启动就是好的. [...]]]></description>
			<content:encoded><![CDATA[<p>我个人重来都是没有碰到过这个错误的,不过最近有个朋友从itput 看到我写的关于kettle 的文章,问我这个问题, 后来找到几种可能性, 主要可能是发生在Windows 2000 上, 我用的是xp&#160; ,还没碰到过, windows 2000 的command line 最大可以有2047 个字符,xp是8091 , kettle 3.0 之后加载的东西太多了,所以有些jar 加不进去,解决办法如下:</p>
<p>1. 把kettle 尽量放在顶层目录比如 E:/pdi 下,减少字符长度</p>
<p>2. 把libext/JDBC 目录下的不用的数据库驱动删掉,比如你只用mysql 和oracle 就只保留mysql-connect-xxx.jar 和ojdbc12.jar 其他的都删掉,</p>
<p>3. 在xp 系统下把cmd.exe 文件拷贝到2000 下, 这个字符串长度限制是写死的,xp 的长度限制为8091.</p>
<p>&#160;</p>
<p>另外需要注意的是至少需要jdk 1.5 以上才能运行, 1.4 是不行的, 我用的是jdk 1.6 的, 点那个kettle.exe 文件它还报错说要jdk 1.5 , 不用exe 文件启动,直接点spoon.bat 启动就是好的.</p>
<p>&#160;</p>
<p>&#160;</p>
<p>参考资料</p>
<p><a title="http://tech.it168.com/d/2008-03-21/200803211924754.shtml" href="http://tech.it168.com/d/2008-03-21/200803211924754.shtml">http://tech.it168.com/d/2008-03-21/200803211924754.shtml</a></p>
<p><a href="http://tech.it168.com/d/2008-03-21/200803211924754.shtml">开源ETL工具kettle系列之增量更新设计技巧</a></p>
<p>&#160;</p>
<p><a title="http://tech.it168.com/n/2008-03-21/200803211716994.shtml" href="http://tech.it168.com/n/2008-03-21/200803211716994.shtml">http://tech.it168.com/n/2008-03-21/200803211716994.shtml</a></p>
<p><a href="http://tech.it168.com/n/2008-03-21/200803211716994.shtml">开源ETL工具kettle系列之建立缓慢增长维</a></p>
<p>&#160;</p>
<p><a title="http://tech.it168.com/d/2008-03-18/200803171550713.shtml" href="http://tech.it168.com/d/2008-03-18/200803171550713.shtml">http://tech.it168.com/d/2008-03-18/200803171550713.shtml</a></p>
<p><a href="http://tech.it168.com/d/2008-03-18/200803171550713.shtml">开源ETL工具kettle系列之动态转换</a></p>
<p>&#160;</p>
<p><a title="http://wiki.pentaho.com/display/EAI/Windows+2000" href="http://wiki.pentaho.com/display/EAI/Windows+2000">http://wiki.pentaho.com/display/EAI/Windows+2000</a></p>
<p>pentaho wiki 上说的解决方法</p>
<p>&#160;</p>
<p><a title="http://support.microsoft.com/kb/830473" href="http://support.microsoft.com/kb/830473">http://support.microsoft.com/kb/830473</a></p>
<p>windows 长度限制</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gemini5201314.net/etl/kettle-%e4%b8%8d%e8%83%bd%e5%90%af%e5%8a%a8classnotfoundexception.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>再谈Kettle 性能问题</title>
		<link>http://www.gemini5201314.net/etl/%e5%86%8d%e8%b0%88kettle-%e6%80%a7%e8%83%bd%e9%97%ae%e9%a2%98.html</link>
		<comments>http://www.gemini5201314.net/etl/%e5%86%8d%e8%b0%88kettle-%e6%80%a7%e8%83%bd%e9%97%ae%e9%a2%98.html#comments</comments>
		<pubDate>Tue, 09 Dec 2008 08:46:26 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[ETL]]></category>
		<category><![CDATA[Kettle]]></category>

		<guid isPermaLink="false">http://www.gemini5201314.net/?p=129</guid>
		<description><![CDATA[最近talend 的一些讨论似乎又激起了kettle 社区的一些&#34;回应&#34; , 讨论的问题又回到了性能的问题上，按照talend 的说法，kettle 的性能不如talend 的, 然后kettle 的首席架构师matt 又出来回应,然后就出现了关于ETL工具性能的讨论: 1 .http://blog.gobansaor.com/2008/12/04/pentaho-data-integration-kettle-v-talend-benchmark/ 事情的起因, 2. http://www.nicholasgoodman.com/bt/blog/2008/11/26/an-arms-race-my-customers-dont-care-about/ kettle 社区的一些回应 3 .http://www.ibridge.be/?p=150 matt 做的实验 &#160; 按照matt 做的实验 , 环境是在他个人笔记本上， CPU Intel(R) Core(TM)2 CPU T7600 @ 2.33GHz Disk 90GB 7200 rpm laptop disk Memory 3.3GB, 666Mhz OS Kubuntu 8.10 : Intrepid Ibex Linux kernel 2.6.27-8 &#160; &#160; kettle [...]]]></description>
			<content:encoded><![CDATA[<p>最近talend 的一些讨论似乎又激起了kettle 社区的一些&quot;回应&quot; , 讨论的问题又回到了性能的问题上，按照talend 的说法，kettle 的性能不如talend 的, 然后kettle 的首席架构师matt 又出来回应,然后就出现了关于ETL工具性能的讨论:</p>
<p>1 .<a title="http://blog.gobansaor.com/2008/12/04/pentaho-data-integration-kettle-v-talend-benchmark/" href="http://blog.gobansaor.com/2008/12/04/pentaho-data-integration-kettle-v-talend-benchmark/">http://blog.gobansaor.com/2008/12/04/pentaho-data-integration-kettle-v-talend-benchmark/</a></p>
<p>事情的起因, </p>
<p>2. <a title="http://www.nicholasgoodman.com/bt/blog/2008/11/26/an-arms-race-my-customers-dont-care-about/" href="http://www.nicholasgoodman.com/bt/blog/2008/11/26/an-arms-race-my-customers-dont-care-about/">http://www.nicholasgoodman.com/bt/blog/2008/11/26/an-arms-race-my-customers-dont-care-about/</a></p>
<p>kettle 社区的一些回应</p>
<p>3 .<a title="http://www.ibridge.be/?p=150" href="http://www.ibridge.be/?p=150">http://www.ibridge.be/?p=150</a></p>
<p>matt 做的实验</p>
<p>&#160;</p>
<p>按照matt 做的实验 , 环境是在他个人笔记本上，</p>
<p>CPU Intel(R) Core(TM)2 CPU T7600 @ 2.33GHz   <br />Disk 90GB 7200 rpm laptop disk    <br />Memory 3.3GB, 666Mhz    <br />OS Kubuntu 8.10 : Intrepid Ibex    <br />Linux kernel 2.6.27-8</p>
<p>&#160;</p>
<p>&#160;</p>
<p>kettle 和talend 简单的读一个2.4G 的csv 文件，每次都是运行5次取平均值，talend 需要108秒，速度大概是1.3Gb/分钟 ，kettle 需要150秒, 速度大概是1GB/分钟 ,&#160; 当kettle 使用集群时(单机的一主一从) , 大概需要94 秒，速度是1.5GB/分钟,</p>
<p>kettle 在运行最快的时候比talend 快大约19% .&#160; </p>
<p><a href="http://www.gemini5201314.net/wp-content/uploads/2008/12/reading-csv-pdi-talend.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="217" alt="reading-csv-pdi-talend" src="http://www.gemini5201314.net/wp-content/uploads/2008/12/reading-csv-pdi-talend-thumb.png" width="589" border="0" /></a> </p>
<p>&#160;</p>
<p>&#160;</p>
<p>在读取文件并回写的测试中,文件还是刚才的2.4G csv 文件, talend 大概需要330秒，04GB/分钟 , kettle 在没有集群时需要196秒，速度大概是07gb/分钟 , 使用一主一从的集群时大概要150秒， 速度为1gb/分钟.&#160; kettle最快的速度比talend 快120%,&#160;&#160;&#160;&#160; kettle 跟unix 的cp 命令比起来还差20% 的速度(毕竟人家是以操作系统的block 为单位) . </p>
<p><a href="http://www.gemini5201314.net/wp-content/uploads/2008/12/reading-writing-csv-pdi-talend.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="240" alt="reading-writing-csv-pdi-talend" src="http://www.gemini5201314.net/wp-content/uploads/2008/12/reading-writing-csv-pdi-talend-thumb.png" width="668" border="0" /></a> </p>
<p>&#160;</p>
<p>&#160;</p>
<p>最后结论比较简单，没有集群的情况下,talend 读比较快，写一般，但是在kettle 使用集群的情况下(talend 没集群) , 速度就不再同一级别. </p>
<p>另外注意的时，由于测试环境用的电脑很一般，所以即使你使用更多的集群速度也不会又提升，因为硬盘就是一普通的笔记本硬盘， 如果在专门的服务器上使用SCSI 硬盘测试的话，速度会更快.</p>
<p>最后matt 给出了测试结果和 运行的代码. 你也可以自己运行这些测试</p>
<p><a title="http://www.ibridge.be/files/benchmarking-csv-file-read-write.zip" href="http://www.ibridge.be/files/benchmarking-csv-file-read-write.zip">http://www.ibridge.be/files/benchmarking-csv-file-read-write.zip</a></p>
<p>&#160;</p>
<p>&#160;</p>
<p><strong>个人的一些想法:</strong></p>
<p>就像文中所说的，由于每个人的配置不一样，可能你精通kettle ,所以你测试出来的结果kettle 会比较快，如果你精通talend ，可能talend 测试出来的比较快，所以一味的比较速度没有意思，没有办法在统一环境下测试.</p>
<p>另外就是个人觉得ETL工具的性能并不是ETL工具最先考虑的东西，功能和易用性和可管理性才是最重要的，kettle 在功能和易用性上得分比较高，可管理性则是很一般.</p>
<p>另外ETL工具中kettle 的性能一向都是很强的，早在kettle 被pentaho 收购之前，它在亚马逊云上的5 台服务器的集群速度就是4000 row * 5 , 而且由于kettle 配置集群又超级简单，而且是根据端口来区分节点，所以一台计算机上都可以配置几个从服务器, 上面给出的代码中就是这样的，不会配置的朋友可以看一下，（真的就是看一眼就懂了).</p>
<p>&#160;</p>
<p>另外一个觉得很有意思的ETL工具就是oracle 的warehouse build 和data integration ,由于里面使用的是oracle 数据库专有的pl /sql , 不太清楚它的伸缩能力怎么样 (oracle 的hints 里面是可以控制并行度的，不知道pl /sql 会不会也有控制并行度的选项)</p>
<p>&#160;</p>
<p>再加上kettle 的分区特性和正在做的&quot;可配置并行度&quot; , kettle 的伸缩能力是很强的. 所以性能问题一向都不是kettle 的弱项.</p>
<p>最后要说的就是还是最关心kettle 的可管理性，它的&quot;transform 和 job &quot; 的版本控制和 &quot;Repository&quot; 的全库导入导出不知道什么时候可以做好.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gemini5201314.net/etl/%e5%86%8d%e8%b0%88kettle-%e6%80%a7%e8%83%bd%e9%97%ae%e9%a2%98.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>kettle 3.1 发布</title>
		<link>http://www.gemini5201314.net/etl/kettle_3_1_%e5%8f%91%e5%b8%83.html</link>
		<comments>http://www.gemini5201314.net/etl/kettle_3_1_%e5%8f%91%e5%b8%83.html#comments</comments>
		<pubDate>Wed, 08 Oct 2008 15:23:05 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[ETL]]></category>
		<category><![CDATA[Kettle]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[<p>Pentaho Data Integration (Kettle) 3.1 已经发布了，你可以在下列地址下载</p>  <ul>   <li><a href="http://downloads.sourceforge.net/pentaho/pdi-open-3.1.0-826.zip?modtime=1222783659&#38;big_mirror=0">Binary zip file</a> (60 MB) </li>    <li><a href="http://downloads.sourceforge.net/pentaho/pdi-open-docs-3.1.0-826.zip?modtime=1222783672&#38;big_mirror=0">Wiki documentation export</a> (105 MB) </li>    <li><a href="http://downloads.sourceforge.net/pentaho/pdi-open-src-3.1.0-826.zip?modtime=1222783699&#38;big_mirror=0">Source zip file</a> (72 MB) </li>    <li><a href="http://downloads.sourceforge.net/pentaho/pdi-open-javadoc-3.1.0-826.zip?modtime=1222783690&#38;big_mirror=0">Javadoc zip file</a> (7 MB) </li>    <li><a href="http://downloads.sourceforge.net/pentaho/pdi-open-3.1.0-826.dmg?modtime=1222783650&#38;big_mirror=0">OSX dmg image</a> (52 MB) </li>    <li>Windows Installer : under construction </li> </ul>  <p>&#160;</p>  <p>3.1 版中把文档分离出来，放在了pentaho的wiki上来，这次一共有562 个bug 修复和新功能.</p>]]></description>
			<content:encoded><![CDATA[<p>Pentaho Data Integration (Kettle) 3.1 已经发布了，你可以在下列地址下载</p>
<ul>
<li><a href="http://downloads.sourceforge.net/pentaho/pdi-open-3.1.0-826.zip?modtime=1222783659&amp;big_mirror=0">Binary zip file</a> (60 MB)</li>
<li><a href="http://downloads.sourceforge.net/pentaho/pdi-open-docs-3.1.0-826.zip?modtime=1222783672&amp;big_mirror=0">Wiki documentation export</a> (105 MB)</li>
<li><a href="http://downloads.sourceforge.net/pentaho/pdi-open-src-3.1.0-826.zip?modtime=1222783699&amp;big_mirror=0">Source zip file</a> (72 MB)</li>
<li><a href="http://downloads.sourceforge.net/pentaho/pdi-open-javadoc-3.1.0-826.zip?modtime=1222783690&amp;big_mirror=0">Javadoc zip file</a> (7 MB)</li>
<li><a href="http://downloads.sourceforge.net/pentaho/pdi-open-3.1.0-826.dmg?modtime=1222783650&amp;big_mirror=0">OSX dmg image</a> (52 MB)</li>
<li>Windows Installer : under construction</li>
</ul>
<p>3.1 版中把文档分离出来，放在了pentaho的wiki上来，这次一共有562 个bug 修复和新功能.</p>
<p>新功能的介绍在<a title="http://wiki.pentaho.com/display/EAI/What%27s+new+in+PDI+version+3.1" href="http://wiki.pentaho.com/display/EAI/What%27s+new+in+PDI+version+3.1">http://wiki.pentaho.com/display/EAI/What%27s+new+in+PDI+version+3.1</a> 上.</p>
<p>简单来说主要有一下一些改进：</p>
<p>1. 界面上的改进（增强易用性）</p>
<p>现在吧输出结果放在单独的面板里用tab分隔.</p>
<p><a href="http://www.gemini5201314.net/sites/default/files/kettle3.1_CC55/image.png"><img style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" title="image" src="http://www.gemini5201314.net/sites/default/files/kettle3.1_CC55/image_thumb.png" border="0" alt="image" width="835" height="490" /></a></p>
<p>2. 性能图形</p>
<p>这个算是最大的一个改进，对性能输出增加了一个图形显示</p>
<p><a href="http://www.gemini5201314.net/sites/default/files/kettle3.1_CC55/image_3.png"><img style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" title="image" src="http://www.gemini5201314.net/sites/default/files/kettle3.1_CC55/image_thumb_3.png" border="0" alt="image" width="946" height="394" /></a></p>
<p>3. 新的数据库连接对话框</p>
<p>以前那个对话框有很多不必要的东西，而且显示的UI 也太复杂，新的数据库连接对话框简化了一点.</p>
<p><a href="http://www.gemini5201314.net/sites/default/files/kettle3.1_CC55/image_4.png"><img style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" title="image" src="http://www.gemini5201314.net/sites/default/files/kettle3.1_CC55/image_thumb_4.png" border="0" alt="image" width="881" height="710" /></a></p>
<p>4. Zoom</p>
<p>现在对于设计面板里面的东西都可以放大和缩小。</p>
<p>5. Snap to Grid</p>
<p>就是为了放大缩小而设定的格子的大小. 大概意思是一个格式多大吧.</p>
<p><a href="http://www.gemini5201314.net/sites/default/files/kettle3.1_CC55/image_5.png"><img style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" title="image" src="http://www.gemini5201314.net/sites/default/files/kettle3.1_CC55/image_thumb_5.png" border="0" alt="image" width="394" height="435" /></a></p>
<p>6.  新的欢迎界面</p>
<p>新的欢迎界面多了一个教新手怎么开始的文档了 ，在 <a title="http://wiki.pentaho.com/display/EAI/Getting+Started" href="http://wiki.pentaho.com/display/EAI/Getting+Started">http://wiki.pentaho.com/display/EAI/Getting+Started</a></p>
<p>剩下的就是一些新的Step 和Job ,然后就是增加了几个冷门数据库的支持.可以在上面的what’s new in kettle 3.1 中找到，它每一个step ,job 都有文档的，大多数也有一个实例，还是在它的samples 目录下，个人觉得比较有用的几个step 是</p>
<p><a href="http://wiki.pentaho.com/display/EAI/SQL+File+Output">SQL File Output</a> 把结果输出成sql形式，然后后面又可以执行这个文件.</p>
<p><a href="http://wiki.pentaho.com/display/EAI/Add+a+checksum">Add a checksum</a> 在做type2 的缓慢维的时候可能有的人喜欢这种方式，不过不知性能会不会很慢.</p>
<p><a href="http://wiki.pentaho.com/display/EAI/Data+Validator">Data validator</a> 配合Error Handling 一起来验证数据的.（虽然我个人比较喜欢像OWB 那样把这种验证工作单独做成                          一种validate , clean , transform 的形式, 这种数据清理的工作和转换的工作分开.)</p>
<p>job 里面增加了一个shell 还蛮有用的，windows 下可以执行cmd 里的命令，linux 下更不用说了.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gemini5201314.net/etl/kettle_3_1_%e5%8f%91%e5%b8%83.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
