Pentaho 插入/更新数据表操作实例

ETL是EXTRACT(抽取)、TRANSFORM(转换)、LOAD(加载)的简称,实现数据从多个异构数据源加载到数据库或其他目标地址,是数据仓库建设和维护中的重要一环也是工作量较大的一块。当前知道的ETL工具有informatica, datastage,kettle,ETL Automation,sqoop,SSIS等等。这里我们聊聊kettle的学习吧(如果你有一定的kettle使用,推荐看看Pentaho Kettle解决方案,这里用kettle实践kimball的数据仓库理论);

Kettle 是Pentaho之前的叫法,是纯java开发,开源的etl工具。可以在Linux、windows、unix中运行。有图形界面,也有命令脚本还可以二次开发。(官方社区:http://forums.pentaho.com/;官网wiki:http://wiki.pentaho.com/display/COM/Community+Wiki+Home;源码地址:https://github.com/pentaho/pentaho-kettle)

需求描述:

假设有一张A表,我们需要将A表更新去结构相同的B表中,但是B表中的数据是之前A的旧数据,现在由于表A中数据更新了,那么现在的需求就是我们需要将表A中的已更新的数据更新至表B中,表A中新增的数据插入到表B中。

表例

表A(已更新):

id name gender age
1 buranden 0 13
2 james 0 23
3 jim 1 22
4 john 0 17
5 kobe 0 24
6 lily 1 25
7 sam 0 23
8 snow 0 17
9 stack 0 17

表B(旧表A数据未更新):

id name gender age
1 jim 1 999
2 john 1 18
3 kobe 1 789
4 snow 0 17

#Pentaho流程图:
Pentaho 插入/更新数据表操作实例

Pentaho 插入/更新数据表操作实例

Pentaho 插入/更新数据表操作实例

表B结果图:

Pentaho 插入/更新数据表操作实例