文档章节

让kettle的执行速度飞起来

sucre
 sucre
发布于 2015/04/11 17:46
字数 423
阅读 13608
收藏 16

在前一篇文章xms/xmx/xss在kette中的调优设置中,我对kettle进行了一次优化,这次我们再一次进行优化,这次效果非常明显,这次优化有两部分:一、修改jvm添加xmn,二、修改日志输出级别

在Java TM Performance一书中,有这样一段话:

-Xmn is convenient to size both the initial and maximum size of the young generation
space. It is important to note that if-Xms and -Xmx are not set to the same value and
-Xmn is used, a growth or contraction in the Java heap size will not adjust the size of
the young generation space. The size of the young generation space will remain constant with any growth or contraction of the Java heap size. Therefore, -Xmn should
be used only when -Xms and -Xmx are set to the same value.

好了,看看我的修改结果

# ******************************************************************
# ** Set java runtime options                                     **
# ** Change 512m to higher values in case you run out of memory   **
# ** or set the PENTAHO_DI_JAVA_OPTIONS environment variable      **
# ** (JAVAMAXMEM is there for compatibility reasons)              **
# ******************************************************************

if [ -z "$JAVAMAXMEM" ]; then
  JAVAMAXMEM="16384"
fi

if [ -z "$PENTAHO_DI_JAVA_OPTIONS" ]; then
    PENTAHO_DI_JAVA_OPTIONS="-Xms${JAVAMAXMEM}m -Xmx${JAVAMAXMEM}m -Xmn6144m -Xss1024m"
fi

xmx为物理内存的1/4,xmn为xmx为3/8

在用kitchen.sh调用*.job文件时,在调用命令后面添加

-level:Error

在默认的情况下,kettle输出的是基本日志,如果访问十几万的数据库,那基本日志的输出也会达到5、6百兆,这样严重影响了执行效率,所以修改kettle的日志级别为error级,只输出错误日志即可。

以上优化完成后,遍历十几万数据库进行数据统计,只需要2小时55分钟,爽啊,快吧,如果硬件足够好,那还可以再提高不少呢!

© 著作权归作者所有

共有 人打赏支持
sucre
粉丝 30
博文 402
码字总数 211160
作品 0
高级程序员
加载中

评论(6)

sucre
sucre

引用来自“Dilly”的评论

遍历十几万数据库进行数据统计,需要2小时55分钟,不算很快吧?

引用来自“clark911”的评论

这个确实慢了。如果把转换的部分放到数据库去做呢,没必要把所有事情都交给kettle,对吧
如何将转换的部分放到数据库中呢?你是指将转换放到input的sql中解决?
clark911
clark911

引用来自“Dilly”的评论

遍历十几万数据库进行数据统计,需要2小时55分钟,不算很快吧?
这个确实慢了。如果把转换的部分放到数据库去做呢,没必要把所有事情都交给kettle,对吧
sucre
sucre

引用来自“Dilly”的评论

遍历十几万数据库进行数据统计,需要2小时55分钟,不算很快吧?
那多长时间算快呢?您遍历十几万多长时间能处理完?
Dilly
Dilly
遍历十几万数据库进行数据统计,需要2小时55分钟,不算很快吧?
sucre
sucre

引用来自“debug_gao”的评论

请问,如何能提高‘file input’的速度
你看看file input里面有没有缓存的设置
d
debug_gao
请问,如何能提高‘file input’的速度
kettle 插入/更新 速度太慢

我现在有这么一个问题,不知道是否正常! 我们的项目想在用的java,通过spring的定时器,每隔一段时间调用一次.bat文件,执行一次kettle! 然后kettle从实时数据库把那个时间段的数据插入到o...

艾某
2013/04/23
6.1K
6
关于KETTLE执行update更新脚本的优化

现在所做的项目需要使用KETTLE进行一个数据抽取的过程,抽取之后因为新增了几个字段(也就是说我们在对方数据库里表结构的基础上新增了几个字段),然后需要对这新增的几个字段进行更新操作,但是...

薄荷少年柠檬心
2017/09/08
54
2
在kettle中使用内存数据库H2

先前一直使用的是postgresql,因为网速的原因,所以打算将数据统一放到HDFS上,但是一条一条写HDFS是很慢的,全部写到本地文件再传到HDFS上也是一样慢,这样一来就有了本文,将部分先放到内存...

sucre
2015/06/05
0
0
kettle之旅--下载获取kettle

获取kettle,这个文章很多小伙伴都觉得没必要,其实我想说,既然研究这个解决方案,那知其然知其所以然。 kettle源码 kettle是开源的,所以开源的地址在哪里呢? 当然是github: https://git...

cimenbi
07/29
0
0
ora2pg 11.0 发布,支持多处理器并行模式

ora2pg 11.0 支持多处理器,可使用并行模式全速进行数据导入导出,数据导入性能提升 10 倍以上。多处理器支持让 Ora2Pg 的速度接近 ETL 工具的速度;同时该版本增加新的导出类型来生成 Kett...

oschina
2013/03/26
587
1

没有更多内容

加载失败,请刷新页面

加载更多

一切都靠大数据:滴滴已封禁4.3万人员、车辆

这段时间以来,滴滴出行相继出炉了各种整改措施,包括自身安全建设和外部社会共建,昨日就刚刚宣布正在筹备建立安全监督顾问委员会。 据媒体最新报道,9月30日,上海市交通委员会执法总队、上...

linuxCool
19分钟前
2
0
awk命令用法介绍

10月18日任务 9.6/9.7 awk 1.awk(上)(下) 1.awk 分段操作功能 指定分隔符,并把第一段打印出来,不会改动文件内容 将所有内容打印出来 awk 没有指定分隔符号,则会默认用空格或者空白字符...

hhpuppy
57分钟前
3
0
Spring Cloud Eureka Server高可用之:在线扩容

本文共 1591字,阅读大约需要 6分钟 ! 概述 业务微服务化以后,我们要求服务高可用,于是我们可以部署多个相同的服务实例,并引入负载均衡机制。而微服务注册中心作为微服务化系统的重要单元...

CodeSheep
今天
2
0
内网esxi主机上安装CoreOS虚拟机

CoreOS是一个为专门运行容器而设计的轻量级linux发行版,旨在通过轻量的系统架构和灵活的应用程序部署能力简化数据中心的维护成本和复杂度。它没有包管理工具,运行容器化应用以提供服务;默...

hiwill
今天
1
0
20181018 上课截图

![](https://oscimg.oschina.net/oscnet/49f66c08ab8c59a21a3b98889d961672f30.jpg) ![](https://oscimg.oschina.net/oscnet/a61bc2d618b403650dbd4bf68a671fabecb.jpg)......

小丑鱼00
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部