页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

当前”orderDetails“表是数据源表的类型,所以”增量数据获取方式“是”按字段筛选“,需要选择”用于标识新增数据的字段“:

  • 代表的意思:假设“用于标识新增数据的字段”是 field,上一次抽取时 field 字段的最大值表示为 last_max(field),则本次抽取获取增量数据的过滤条件是 field > last_max(field)。
  • 只能选择整型、日期、日期时间类型的字段。只能选择一个字段。
  • 只能选择一个字段。当前场景选择”OrderID“字段:Image Added

增量入库方式:支持追加、更新与插入;选择追加

3、配置好之后,点击【确定】,保存数据模型之后,点击增量抽取页面的”立即抽取“,查看抽取日志,可以看到第一次是全量抽取:

...

选项1选项2说明
按参数筛选用于标识新增数据的参数
  • 原理:假设“与参数关联的字段”是 field,上一次抽取时 field 字段的最大值表示为 last_max(field),则本次抽取获取增量数据的过滤条件是 field > last_max(field)然后通过“用于标识新增数据的参数”,将上述过滤条件传递到查询中。
  • 只能选择与该表/查询映射的参数,如果没有映射参数,将不能进行增量抽取。
与参数关联的字段只能选择数值型、日期、日期时间类型的字段。
增量数据入库方式追加原理:本次抽取的增量数据,全部追加到缓存库中。
更新与插入

原理:本次抽取的增量数据,利用“主键字段”逐行判断该行数据在缓存库中是否存在,如果不存在则插入,如果存在则更新。

”用于判断数据在缓存库中是否存在的主键字段“ 选项:

  • 可以选择多个字段作为联合主键可以选择多个字段作为联合主键。
  • 主键字段不能与”参数关联的字段“一样,否则无法插入数据。
立即抽取

如果是第一次抽取,则会把整个模型都执行全量抽取,如果非第一次抽取,则会根据上一次抽取时UpdateTime字段的最大值为参数默认值进行抽取。

立即覆盖抽取
即全量抽取,如果其他表/查询没有更改过,只会抽取该表的数据;如果其他表/查询调整了结构也会把调整结构的表都抽取了。

...

6、再次点击【立即抽取】按钮,抽取成功之后,查看日志,可以看到是增量抽取:

注意:增量更新,抽取时会自动更新与它关联的事实表的小宽表,如果与它关联的事实表数据量很大,则抽取时间会相对久一些。增量更新时,如果与之关联的是事实表,系统会自动更新相关联的事实表中的小宽表。如果关联的事实表数据量较大,抽取时间可能会相对较长。

7、去创建即席查询,可以查看到刚新增与更新的记录:

...

信息

如果已抽取2024-10-29的数据了,源库又更新了“2024-10-29”的数据,再点击抽取,是没办法把"2024-10-29"的数据增量过来的;这时候需要全量抽取。

原因:更新参数的默认值已记住了2024-10-29,SQL语句是UpdateTime >’2024-10-29‘,所以没办法更新与插入同一天的数据。


3 注意事项

目前增量抽取还支持的场景:覆盖多少天目前增量抽取还没有支持的场景:覆盖多少天/季度等,即每次抽取,根据日期及滚动周期将数据库中的新增以及部分历史数据抽取到MPP数据库中,其中历史数据将会覆盖原数据。每次抽取,根据日期及滚动周期将数据库中新增以及部分历史数据抽取到MPP数据库中,其中历史数据将会覆盖原数据。


数据抽取耗时对比

硬件配置: 内存8G,CPU8核;测试数据库: MySQL 8.0

数据模型如下图:

...

4.1【orders】入库方式"追加"

场景1:在[orders]表中,初始数据量为1000w,分别增量“追加”100w、500w性能情况:

表名称

原始数据

列数

全量抽取耗时

增量数据

增量抽取耗时

抽取提升效率

orders

1kw

25

263s

100w

98s

2.7倍

500W

186s

1.4倍

customers

200w

14

97s




...

表名称

原始数据

列数

全量抽取耗时

增量数据

增量抽取耗时

抽取提升效率

orders

1亿

25

2084s

100w

434s

4.8倍

500W

584s

3.5倍

customers

200w

14

97s

...




4.2【orders】入库方式"更新与插入"

场景1:在[orders]表中,初始数据量为1000w,分别增量”更新与插入“100w、500w性能情况:

表名称

原始数据

列数

全量抽取耗时

增量数据

增量抽取耗时

抽取提升效率

orders

1kw

25

263s

100w

140s

1.9倍

500W

234s

1.1倍

customers

200w

14

97s





场景4:在场景2:在[orders]表中,初始数据量为1亿,分别增量”更新与插入“100w、500w性能情况:

...