论坛首页 Java企业应用论坛

Kettle的一些应用问题

浏览 6712 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-03-19  
Kettle的一些应用问题

摘要:本文主要介绍使用kettle设计一些ETL任务的时候可能遇到的跟kettle环境有关的一些问题,这些问题大部分都不在官方FAQ上,你可以在kettle的论坛上找到一些问题的答案

1. Join

我得到A 数据流(不管是基于文件或数据库),A包含field1 , field2 , field3 字段,然后我还有一个B数据流,B包含field4 , field5 , field6 , 我现在想把它们 ‘加’ 起来, 应该怎么样做.

这是新手最容易犯错的一个地方,A数据流跟B数据流能够Join,肯定是它们包含join key ,join key 可以是一个字段也可以是多个字段。如果两个数据流没有join key ,那么它们就是在做笛卡尔积,一般很少会这样。比如你现在需要列出一个员工的姓名和他所在部门的姓名,如果这是在同一个数据库,************************



5 .事务型ETL

Kettle里面是没有所谓事务的概念的,每个步骤都是自己管理自己的连接的,在这个步骤开始的时候打开数据库连接,在结束的时候关闭数据库连接,一个步骤是肯定不会跨session的(数据库里面的session), 另外,由于kettle是并行执行的,所以不可能把一个数据库连接打×××××××××××××



7. kettle的性能

kettle本身的性能绝对是能够应对大型应用的,一般的基于平均行长100的一条记录,即使源数据库和目标数据库以及kettle都在同一台机器上(最常见的桌面工作模式,双核,1G内存),速度大概都可以到

尽量使用数据库连接池

尽量提高批处理的commit size

尽量使用缓存,缓存尽量大一些

Kettle 是Java 做的,尽量用大一点的内存参数启动Kettle.

可以使用sql 来做的一些操作尽量用sql

Group , merge , stream lookup ,split field 这些操作都是比较慢的,想办法避免他们.

插入大量数据的时***********************



10 . 字符集


原文地址在我的新blog : http:www.gemini5201314.net
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics