龙空技术网

KETTLE抽取数据慢,可能是以下几方面导致

小猪伴 147

前言:

当前各位老铁们对“kettlejs”可能比较注重,兄弟们都想要剖析一些“kettlejs”的相关内容。那么小编同时在网上收集了一些关于“kettlejs””的相关内容,希望小伙伴们能喜欢,姐妹们一起来学习一下吧!

A:SPOON 启动时候内存较小,在spoon.bat这个启动文件中,配置的有JVM的内存XMX,("%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="- Xms8192m" "-Xmx8192m" "-XX:MaxPermSize=4096m"),默认这个是256M,512M 256M, 其中Xms是指JVM初始分配的堆栈的内存,Xmx是指JVM分配的堆栈的内存 (JAVA代码能涉及到的存储数据变量的内存)最大是多少,所以XMS必须要<= XMX,XX:MaxPermSize,是指JVM给自己分配的非堆栈内存(供虚拟机程序自己开销)我的因 为是在服务器上跑,因此改成了8192M\8192M\4096M,这个改不能是无限的加大,需要考虑总的内存大小,一般来说网上参考是最大堆栈内存不超过总内存的3/8有的也说是 一半,总之得有个度。

B:使用输入、输出时,新表不要建主键(允许为空--防止历史数据有为空的导致报错)

C:抽数的源数据库关键字段没有索引

D:抽数的源数据库关键字段索引在SPOON里面失效 原因是用 > 号的时候,索引会失效,而用>=则不会

E:如果进行大数据量的传输,将日志的级别调整为只输出错误日志

F:mysql表输出的时候出现减速的原因可能是因为网络链接的属性设置

在此处添加参数:

useServerPrepStmts=false

rewriteBatchedStatements=true

useCompression=true

G:kettle 允许线程多开

H:可以适当的提高数据集的大小

I:可以并发处理job

J:修改 “转换属性---杂项--记录集合里的记录数”中的数据,可以增加传输速率

Kettle的数据库连接模式

Kettle的数据库连接是一个步骤里面控制一个单数据库连接,所以kettle的连接有数据库连接池,你可以在指定的数据库连接里面指定一开始连接池里面放多少个数据库连接,在创建数据库连接的时候就有Pooling 选项卡,里面可以指定最大连接数和初始连接数,这可以一定程度上提高速度.

标签: #kettlejs