KETTLE问题总结

1.     jvm的设置 (在运行工具的时候,要扩大JAVAMAXMEM的值)

2.     jdbc驱动版本 (kettle3.0.4版本里面支持的是DB2 v8版本的,即jdbc驱动用的是v8的,需要调换成与数据库版本一致的,db2jcc.jar)

3.     seq的使用(src\org\pentaho\di\core\database\ DB2DatabaseMeta.java中没有写对DB2的序列的支持,自己修改了代码)

4.     临时文件的存放(无论是kitchen运行还是pan运行都会产生临时文件,修改.sh文件或者.bat文件-Djava.io.tmpdir=/u02/kettle304/lsidss/logs/)

5.     unix下的设置(运行.sh文件,trans文件里面的路径用变量代替)

6.     索引(在kettle里面运行模型,或者用sql都是一样,关联两张表进行查询时一定要记得建索引)

7.     not exsits 在数据量小的时候效率比not in的效率高的多,数据量大的时候一样也会很慢

8.     load阶段中的一个delete阶段,删除的不是表里面本来存在的数据,而是你要导入的文件里面的数据

9.     字段选择控件,顺序至关重要,顺序必须要和库表的顺序一致,否则对应不起来

10. 切忌进行比较字符串相等时,空值并不等于空值,所以在进行比较前请先去空值

11. 特殊字符

12. 日期字段的清洗(最终以修改存储过程的方式搞定)

13. 在字段选择使用时,数据类型必须也要保持一直,number!=integer

14.   如果程序卡住不动,原因可能有四个:一、临时文件过多;二、发生死锁,这时就需要检查你的设计是否存在问题了 三、java heap space,此时就是一直在查询,看是否建立相应的索引或者其他来提高查询的效率 四、数据库的日志空间太小,日志空间已满

15. 表结构的创建和删除

16. kettle执行效率的提高,一、加大jvm的虚拟内存;二、提交行数的加大

17. 分发与复制,一般我们所使用的都是复制

18.     DB2CMD客户端乱码

1.db2 get db cfg for dbname .可以查一下相应的codepagecountry代码

2.然后在客户端设置

3.db2set db2codepage=**

  db2set db2country=**

4.然后退出DB2CMD

5.db2 connect to dbname

6.db2 "select * from tablename"检查一下是否能够正确显示中文。

7.如果能够正确显示中文说明客户端配置生效。一次设置永久生效,但是必须要退出DB2CMD,然后再进入才会有效果

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11795524/viewspace-429898/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/11795524/viewspace-429898/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值