性能调优在整个工程中是非常重要的,也是非常有必要的。但有的时候我们往往都不知道如何对性能进行调优孙判拿。其实性能调优主要分两个方面:一方面是硬件调优,一方面是软件调优。本章主要是介绍Kettle的性能优化及效率提升。
一、Kettle调优
1、 调整JVM大小进行性能优化,修改Kettle定时任务中的Kitchen或Pan或Spoon脚本。
修改脚本代码片段
set OPT=-Xmx512m -cp %CLASSPATH% -Djava.library.path=libswt\win32\ -DKETTLE_HOME="%KETTLE_HOME%" -DKETTLE_REPOSITORY="%KETTLE_REPOSITORY%" -DKETTLE_USER="%KETTLE_USER%" -DKETTLE_PASSWORD="%KETTLE_PASSWORD%" -DKETTLE_PLUGIN_PACKAGES="%KETTLE_PLUGIN_PACKAGES%" -DKETTLE_LOG_SIZE_LIMIT="%KETTLE_LOG_SIZE_LIMIT%"
参数参考:
-Xmx1024m:设置JVM最大可用内存为1024M。
-Xms512m:设置JVM促使内存为512m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。
-Xmn2g:设置年轻代大小为2G。整个JVM内存大小=年轻代大小 + 年老代大小 + 持久代大小。持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。
-Xss128k:设置每个线程的堆栈大小。JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K。更具应用的线程所需内存大小进行调整。在相同物理内存下,减小这个值能生成更多的线程。但是 *** 作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右。
样例:OPT=-Xmx1024m -Xms512m
2、 调整提交(Commit)记录数大小进行优化
如修改RotKang_Test01中的“表输出”组件中的“提交记录数量”参数进行优化,Kettle默认Commit数量为:1000,可以根据数据量大小来设置Commitsize:1000~50000。
3、 调整记录集合里的记录数
4、尽量使用数据库连接池;
5、尽量提高批处理的commit size;
6、尽量使用缓存,缓存尽量大一些(主要是文本文件和数据流);则搭
7、Kettle是Java做的,尽量用大一点的内存参数启动Kettle;
8、可以使用sql来做的一些 *** 作尽量用sql;
Group , merge , stream lookup,split field这些 *** 作都是比较慢的,想办法避免他们.,能用sql就用sql;
9、插入大量数据的时候尽量把索引删掉;
10、尽量避免使用update , delete *** 作,尤其是update,如果可以把update变成先delete, 后insert;
11、能使用truncate table的时候,就不要使用deleteall row这种类似sql合理的分区,如果删除 *** 作是基于某一个分区的,就不要使用delete row这种方式(不管是deletesql还是delete步骤),直接把分区drop掉,再重新创建;
12、尽量缩小输入的数据集的大小(增量更新也是为了这个目的);
13、尽量使用数据库原生的方式装载文本文件(Oracle的sqlloader, mysql的bulk loader步骤);
14、尽量不要用kettle的calculate计算步骤,能用数据库本身的sql就用sql ,不能用sql就尽量想办法用procedure,实在不行才是calculate步骤;
15、要知道你的性能瓶颈在冲乱哪,可能有时候你使用了不恰当的方式,导致整个 *** 作都变慢,观察kettle log生成的方式来了解你的ETL *** 作最慢的地方;
16、远程数据库用文件+FTP的方式来传数据,文件要压缩。(只要不是局域网都可以认为是远程连接)。
之前借用别人的笔记本配置了kettle, 开发完成后更换了自己的笔记本, 再次配置kettle的时候发现kettle打不开了, 现在附上安装kettle流程和遇到问题解决的思路和办法
这次工作中用到的是经过公司封装的kettle, 免安装版, 不是公司封装的也是免安装的好像, 只需要将压缩包解压即可
kettle是一个纯java开发的工具, 所以配置kettle之前一定要配置上java环境, 网上说java版本至少要在1.6以上, 但是自己安装中发现只有1.8版本的jdk可以正常运行kettle, 这个应该跟kettle的版本也有关, 为此我同时安装了1.6、1.7、1.8三个版本的jdk.
jdk的配置这里就不讲了, kettle的配置本身只需要一个环境变量, 新建一个变量名为 KETTLE_HOME , 变量值为 压缩包解压路径 的环境变量即可
环境和安装都完成后, 我们直接打开kettle解压目录, 运行Spoon.bat文件就可以打开kettle了, 但这才是我遇到问题的开始
1) 如果电脑内存不大的话可能会遇到创建JVM失败的提示(ERROR:could not create the java virtual machine!), 这是因为kettle默认给JVM虚拟机分配的内存比较大, 我们给他调小一点, 打开Spoon.bat, 将
改为
2) 如果遇到提示could not find the main class. Program will exit! 这表示你的jdk有问题, 这不单指做单是kettle会出现这个提示, 任何java程序如果jdk出现问题, 或者jdk版本不对都有可能报这个错, 我们重新安装一遍jdk或者换个版本就可以解决这个问题.
在kettle这里我们可以单独为kettle配置一个环境变量以解决这个问题, (感觉这个方式是为了解决kettle的jdk版本和当前系统不一样的问题), 在环境变量中创建一个变量名为 PENTAHO_JAVA_HOME , 变量值为 kettle兼容的jdk版本路径 即可.
这个时候我们的系统变量里有两个指向jdk路径的变量, 一个是java_home,一个是pentaho_java_home, 感觉这是为了解决kettle需要的jdk与当前系统中的jdk不一样的办法.
运行Spoon.bat的时候, d出cmd终端窗口, 直接闪退.
遇到这个问题真的是把我给难住了, 一点没有错误信息, 没有排查问题的切入点,
思考 :
.bat文件应该是一个脚本语言, 它调用其他的文件才能启动散陪kettle, 它d出cmd后没有报错而是唯掘衡退出了, 应该是运行的没有问题, 下面它应该启动kettle了, 但是没有动静, 这就可能是它调用其他文件的时候, 其他文件损坏了或者丢失了. 我们重新安装一下这个软件可以排除这个问题.
我最开始觉得解压后的kettle有问题, 把kettle删了, 再删的时候等不及又往桌面解压kettle...虽然没有提示, 但是肯定是这删了点什么文件...后来又重新装了一遍才解决.
解决这种问题的时候 只能靠自己, 千万不能慌, 要稳定心态, 思考启动的流程, 是哪个流程出现了错误, 这样才能解决问题 , 不然会卡很久, 严重降低工作效率. 心态不好的时候, 可以稍微歇5分钟, 计算机这种东西, 说不定重启都能解决bug, 透透气, 换个角度看
1. 焦油北卡罗来纳州本来就是以出产陆吵焦油( Tar)、沥青和松脂等著名的地方,而北卡州人被称为焦油踝(Tar Heels )的原因,除了可能是用来形容产量丰盛到沾上脚踝的情形以外,还...
www.hoopchina.com/bbs/simple/index.php/s/simpl ... - 搜索相关网页 - 基于474个网页
2. Tibet Autonomous Region
When the People's Republic of China (PRC) refers to Tibet, it means the Tibet Autonomous Region (TAR): a province-level entity which, according to the territorial claims of the PRC, includes Arunachal Pradesh or South Tib...
www.halfvalue.com/wiki.jsp?topic=Tibet - 搜索相关网页 - 基于74个网页
3. 焦油,沥青灶悉神
[生物、化学、医学]医学词汇(T)|[生物、化学、... ...
tap-water 自来水
tar 焦油,沥青
tare (abbr.Tr.) ①皮重 ②称瓶重量 ③配衡体 ...
www.download100.cn/Film/thin_film/47.html - 搜索相关网页 - 基于58个网页
i tar: 龄(虫) | 中间形态 | 蚕龄
g tar: 焦油,沥青
tar on: 怂恿
Ca tar: 卡星牌汽车
tar n.: 焦油,沥青
Ro tar: 恶草灵
Tar use: 焦油使用
tar oil: 焦油 | 煤焦油 | 高粘重质原油
ACC-TAR: 捍卫战士
相关词组
隐藏相关词组
Tar: 焦油 | Tibet Autonomous Region | 焦油,沥青
Tar:
1. 焦油
北卡罗来纳州本来就是以出产焦油( Tar)、沥青和松脂等著名的地方,而北卡州人被称为焦油踝(Tar Heels )的原因,除了可能是用来形容产量丰盛到沾上脚踝的情形以外,还...
www.hoopchina.com/bbs/simple/index.php/s/simpl ... - 搜索相关网页 - 基于474个网页
2. Tibet Autonomous Region
When the People's Republic of China (PRC) refers to Tibet, it means the Tibet Autonomous Region (TAR): a province-level entity which, according to the territorial claims of the PRC, includes Arunachal Pradesh or South Tib...
www.halfvalue.com/wiki.jsp?topic=Tibet - 搜索相关网页 - 基于74个网页
3. 焦油,沥青
[生物、化学、医学]医学词汇(T)|[生物、化学、... ...
tap-water 自来水
tar 焦油,沥青
tare (abbr.Tr.) ①皮重 ②称瓶重量 ③配衡体 ...
www.download100.cn/Film/thin_film/47.html - 搜索相关网页 - 基于58个网页
i tar: 龄(虫) | 中间形态 | 蚕龄
i tar:
1. 龄(虫)
生物化学词汇58 ...
i ertio equence插入序隐亏列[有时特指细菌中最小的一种仅含转座酶的转座因子]
i tar龄(虫)
intasome整合体[与gama噬菌体整合有关的DNA-蛋白质复合体] ...
www.chinaadb.com/123016.html - 搜索相关网页 - 基于6个网页
2. 中间形态
英语新词汇与常用词汇的翻译(71) ...
i tantly立即地
i tar中间形态
i tate任命 ...
www.chinaadb.com/6691.html - 搜索相关网页 - 基于1个网页
3. 蚕龄
农业科学研究术语(18) ...
i tallation 装置
i tar 蚕龄
i tillation 滴注 ...
www.029edu.com/waiyu/2006_08_02_Other_13632.html - 搜索相关网页 - 基于1个网页
g tar: 焦油,沥青
g tar: 焦油,沥青
医学翻译词汇 - alphay's English... ...
tap-water 自来水
g tar 焦油,沥青
tare (abbr.Tr.) ①皮重 ②称瓶重量 ③配衡体 ...
wide-open-vagina.com/szh/%E4%B8%8D%E8%82%B2%E7 ... - 搜索相关网页 - 基于1个网页
tar on: 怂恿
tar on: 怂恿
英语新词汇与常用词汇的翻译(页 49) - 外语学... ...
tapster 酒保
tar on 怂恿
tar 焦油 ...
www.soudoc.com/bbs/archiver/tid-8429191-page-4 ... - 搜索相关网页 - 基于16个网页
Ca tar: 卡星牌汽车
Ca tar: 卡星牌汽车
进出口货物名称中英对照(48) ...
cabriolet 活顶小轿车
Ca tar 卡星牌汽车
cabtyre cable 橡皮绝缘软电缆 ...
www.029edu.com/waiyu/2006_08_02_Trade_9888.html - 搜索相关网页 - 基于1个网页
tar n.: 焦油,沥青
tar n.: 焦油,沥青
雅思词汇汇总: IELTS高频词汇 芯网留学论坛 ... ...
tap n.龙头;轻拍,轻敲 v.轻拍,轻敲
tar n.焦油,沥青
targetn.靶,标;批评对象;指标 ...
pchina.com.cn/read.php?fpage=1&page=2&tid=46004 - 搜索相关网页 - 基于1个网页
Ro tar: 恶草灵
Ro tar: 恶草灵
进出口货物名称中英对照(195) ...
Ro on朗生牌打火机
Ro tar恶草灵
roofboltingjumbo顶板栓锚眼用钻车 ...
english.315edu.com/1995-05-07-On-line-study-12 ... - 搜索相关网页 - 基于1个网页
Tar use: 焦油使用
Tar use: 焦油使用
环境资源与相关词汇(5) - 英语学习 - 思蓝英... ...
焦油生产 Tar production
焦油使用 Tar use
木材保存 Wood preservation ...
english.cnsilan.com/article/7e/1255$5.html - 搜索相关网页 - 基于413个网页
tar oil: 焦油 | 煤焦油 | 高粘重质原油
tar oil:
1. 焦油
宜昌翻译 英语翻译 英语词汇 英语翻译吧 - 英语... ...
tar middle oil 沥青中油
tar oil 焦油
tar separator 焦油分离器 ...
fane8.com/article/?id=266&page=1&type=detail - 搜索相关网页 - 基于82个网页
2. 煤焦油
机械专业英语词汇(T)—生命经纬 ...
tar content 焦油含量
tar oil 煤焦油
tar sands 含油砂 ...
www.biox.cn/Foreign/200608/20060828170633_5940 ... - 搜索相关网页 - 基于17个网页
3. 高粘重质原油
宜昌翻译 英语翻译 英语词汇 英语翻译吧 - 英语... ...
tar kettle 沥青锅
tar oil 高粘重质原油
tar pitch 焦油沥青 ...
fane8.com/article/?id=374&page=3&type=detail - 搜索相关网页 - 基于11个网页
ACC-TAR: 捍卫战士
ACC-TAR: 捍卫战士
>>查看酷冷至尊捍卫战士(ACC-TAR)的商家促销信息
>>进入酷冷至尊捍卫战士(ACC-TAR)的论坛
detail.zol.com.cn/cooling_product/index45770.shtml - 搜索相关网页 - 基于65个网页
1. I won't trust either of the two brothersthey are tarred with the same brush.
弟兄两个我谁也不相信,他们都是一路货色。
dict.cn
2. My bowel movements are like tar.
我的大便像柏油一样。
bbs.shouxi.net
3. Tar is a binder for gravel in paving.
在铺路时柏油用来粘结砾石。
dict.hjenglish.com
更多例句>>
Tar
英文原义 Tape ARchive 中文释义 磁带归档 注 解:UNIX/Linux中的一个文件打包工具,用于将许多文件一起打包,形成一个档案文件,以便归档。它最初设计用于磁带备份,现在也可用于其它存储介质。单独使用时,生成具有.tar扩展名的文件。当与Gzip结合用于数据压缩时,生成的文件扩展名可能是.tgz、.tar.gz或与compress结合用于数据压缩时,生成的文件扩展名则是.tar.Z ......详细内容>>
更多与"TAR"相关的百科词条>>
焦油
简介 焦油又称煤膏,是煤干馏过程中得到的一种黑色或黑褐色粘稠状液体,具有特殊的臭味,可燃并有腐蚀性。是一种高芳香度的碳氢化合物的复杂混合物。 焦油是煤炭在焦化过程中产生的。其产量约占装炉煤的3%~4%在常温常压下其产品呈黑色粘稠液状,密度通常在0.95-1.10g./cm3之间,闪点100℃具有特殊臭味,焦油又称煤焦油。 焦油的各组分性质有差别,但性质相近组分较多,需要先采用蒸馏方法切取各种馏分, ......详细内容>>
更多与"焦油"相关的百科词条>>
百科内容来源于: 互
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)