• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

10倍以上提高Pentaho Kettle的MySQL写入速度

mysql 搞代码 4年前 (2022-01-09) 14次浏览 已收录 0个评论

使用Pentaho Kettle做了个数据抓取入库的程序,大致这个样: 使用文本调测的时候,速度大概7500条/秒,但是换上数据库后,速度只有150条/秒,对于20万左右的数据入库要超过20分钟,这让人没法接受。本文来源gaodaima#com搞(代@码$网6 使用批量插入好像也没什么效果,依然慢 求助Google,找到

使用Pentaho Kettle做了个数据抓取入库的程序,大致这个样:

使用文本调测的时候,速度大概7500条/秒,但是换上数据库后,速度只有150条/秒,对于20万左右的数据入库要超过20分钟,这让人没法接受。

使用批量插入好像也没什么效果,依然慢

求助Google,找到了2个参考:

参考1:http://julienhofstede.blogspot.nl/2014/02/increase-mysql-output-to-80k-rowssecond.html

参考2:http://forums.pentaho.com/showthread.php?142217-Table-Output-Performance-MySQL#9

描述的基本一致,根据参考调整了连接参数:

Java代码

  1. useServerPrepStmts=false
  2. rewriteBatchedStatements=true
  3. useCompression=true
useServerPrepStmts=falserewriteBatchedStatements=trueuseCompression=true

数据写入速度马上提升到2300条/秒左右,开3个线程,写入速度就与文本写入差不多了。

也算写了很长时间的代码,使用Kettle也算有一段时间,一般只是关注Tranaction如何实现功能,对连接参数可以说基本不关注,但这样的速度提升摆在面前,不熟悉这些性能参数,要想提高性能还真的不容易,写出来也是希望碰到相同问题时能有点参考,因为使用百度,完全搜索不到^_^,写点中文的,希望能被收录


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:10倍以上提高Pentaho Kettle的MySQL写入速度

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址