页面树结构

版本比较

标识

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

...

  • 历史数据不会变动  --入库方式可以使用”追加“。
  • 表内有“时间戳”字段,可用来和"更新时间"做对比实现增量更新,--入库方式可以使用”更新与插入“。

  


 2 示例介绍

数据模型共有9种查询,其中 导入文件生成日期表ETL高级查询 不支持增量抽取。

...

  • ”更新与插入“的使用场景:数据量较大,历史数据会进行变更。并且表内有“时间戳”字段,可用来和"更新时间"做对比实现增量更新。
注意
title前提条件

要实现增量抽取的“更新与插入”,必须满足两个条件要实现增量抽取的“更新与插入”,必须满足两个条件:

1、必须指定主键。

2、必须指定更新时间;数据库中源表必须要有数据的更新时间,如果更新时间为空或null,更新与插入会失败。

...


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

与参数关联的字段只能选择数值型、日期、日期时间类型的字段。
增量数据入库方式追加原理:本次抽取的增量数据,全部追加到缓存库中。
更新与插入

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


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

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

立即抽取

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


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

...

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

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

信息

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

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

...