历史版本2 :增量增加示例 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1.描述编辑

在 增量更新 中用户已经了解增量更新的相关功能,下面我们以时间戳增量增加为例,来简单介绍增量更新的使用。

2. 实现思路编辑

要对表A进行增量更新,则需要有个对照表B来记录表A的增删改,因此,我们要创建两个表,表A和表B,并确保表A的增删改会记录到表B中。然后使用 BI 增量更新中的增量增加更新方式即可。

3. 示例编辑

下面以mysql数据库进行示例:

3.1 准备

1)在 mysql 数据库中创建两个表,表 A 和表 B ,A 表是需要进行增量更新的表,B 表字段包括更新时间(判断是否为未更新数据)、A 表的主键(标识 A 表变化的行)以及更新类型(标识更新类型)。

  • 创建表A并命名为增量更新,添加字段,如下图所示:

    1573783553988825.png

  • 添加数据,如下图所示:

    1573783729671818.png

  • 创建表 B 并命名为 usermodify,添加字段,其中 uptime 为更新时间、uptype 为更新类型、userID 为 A 表的主键,如下图所示:

    1573784000672357.png

    注:表 B 不要设置 userID 和 uptype 为主键,否则对表 A 进行增删改的时候会报错,为了方便起见,可以不设置主键。

2)对表 usermodify 添加触发器来写入数据,如下图所示:

       1573784406192581.png

  • 写入的格式如下:

    create trigger <触发器名称> after insert/delete/update on <表名> for each row begin insert into usermodify(UserID,uptime,uptype) values(new.UserID,now(),'<更新类型>');end

    例如:

    增量增加:create trigger ad after insert on 增量更新 for each row begin insert into usermodify(UserID,uptime,uptype) values(new.UserID,now(),'add');end

    增量删除:create trigger del after delete on 增量更新 for each row begin insert into  usermodify(UserID,uptime,uptype) values(new.UserID,now(),'add');end

  • 此时,对表增量更新进行增删改操作,修改就会记录在表 usermodify 。

3)将表增量更新添加到 BI 业务包中,可以看到只有之前添加的一条数据,如下图所示:

1573785346255797.png

4)在 mysql 数据库中给表增量更新添加一条数据,如下图所示:

1573785534877827.png

可以看到表 usermodify 中添加了一条记录,并记录了表增量更新修改的时间,如下图所示:

1573786942648554.png

3.2 设置增量更新

1)在 BI 中点击更新设置,可以看到上次更新时间为 2019-11-15 10:29:02 ,这也就是增量更新的上次更新时间。而上面增加数据的时间为 2019-11-15 10:31:57 ,说明在上次更新之后我们增加了数据。点击单表更新,设置时间戳增量更新,如下图所示:

1573786287809327.png

例如:

增量增加:SELECT a.* from 增量更新 a,usermodify b where a.userID=b.userID and b.upType='add' and b.uptime>str_to_date('上次更新时间','%Y-%m-%d %H:%i:%s') and b.uptime < str_to_date('当前更新时间','%Y-%m-%d %H:%i:%s')

增量删除:

SELECT b.userID from usermodify b where b.uptype = 'del' and b.uptime>str_to_date('上次更新时间 ','%Y-%m-%d %H:%i:%s') and b.uptime < str_to_date('当前更新时间','%Y-%m-%d %H:%i:%s')

注:上次更新时间和当前更新时间都需点击上方参数选中,不能手动输入。

2)点击预览,即可查看到增量更新之前添加的一条数据。如下图所示:

1573786550956389.png

3.3 效果查看

此时我们点击立即更新,即可看到增量更新表中成功更新,如下图所示:

1573786787172770.png