Kettle的一些应用问题

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值