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流程图: