...
- 代表的意思:假设“用于标识新增数据的字段”是 field,上一次抽取时 field 字段的最大值表示为 last_max(field),则本次抽取获取增量数据的过滤条件是 field > last_max(field)。
- 只能选择整型、日期、日期时间类型的字段。
- 只能选择一个字段。当前场景选择”OrderID“字段:只能选择一个字段,暂不支持计算列、分组字段。当前场景选择”OrderID“字段: 。
增量入库方式:支持追加、更新与插入;选择追加。
3、配置好之后,点击【确定】,保存数据模型之后,点击增量抽取页面的”立即抽取“,查看抽取日志,可以看到第一次是全量抽取:
...
由于刚已经映射了参数“UpdateTime”,所以“用于标识新增数据的参数” 选择“UpdateTime”、”与参数关联的字段“的选择“UpdateTime”字段, 如下图所示:
选项1 | 选项2 | 说明 |
---|---|---|
按参数筛选 | 用于标识新增数据的参数 |
|
与参数关联的字段 |
只能选择数值型、日期、日期时间类型的字段。暂不支持计算列、分组字段。 | ||
增量数据入库方式 | 追加 | 原理:本次抽取的增量数据,全部追加到缓存库中。 |
更新与插入 | 原理:本次抽取的增量数据,利用“主键字段”逐行判断该行数据在缓存库中是否存在,如果不存在则插入,如果存在则更新。 ”用于判断数据在缓存库中是否存在的主键字段“ 选项:
| |
立即抽取 | 如果是第一次抽取,则会把整个模型都执行全量抽取,如果非第一次抽取,则会根据上一次抽取时UpdateTime字段的最大值为参数默认值进行抽取。 | |
立即覆盖抽取 | 即全量抽取,如果其他表/查询没有更改过,只会抽取该表的数据;如果其他表/查询调整了结构也会把调整结构的表都抽取了。 |
4、配置好之后,去抽取数据模型,查看抽取日志,如果是第一次抽取,默认是全量抽取:
...
场景1:在[orders]表中,初始数据量为1000w,分别增量“追加”100w、500w性能情况:
表名称 | 原始数据 | 列数 | 全量抽取耗时 | 增量数据 | 增量抽取耗时 | 抽取提升效率 |
orders | 1kw | 25 | 263s | 100w | 98s | 2.7倍 |
500W | 186s | 1.4倍 | ||||
customers | 200w | 14 | 97s |
场景2:在[orders]表中,初始数据量为1亿,分别增量”追加“100w、500w性能情况:
表名称 | 原始数据 | 列数 | 全量抽取耗时 | 增量数据 | 增量抽取耗时 | 抽取提升效率 |
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 |
场景2:在[orders]表中,初始数据量为1亿,分别增量”更新与插入“100w、500w性能情况:
表名称 | 原始数据 | 列数 | 全量抽取耗时 | 增量数据 | 增量抽取耗时 | 抽取提升效率 |
orders | 1亿 | 25 | 2084s | 100w | 740s | 2.8倍 |
500W | 904s | 2.3倍 | ||||
customers | 200w | 14 | 97s |
问题1: 我的原始数据是3000w,每天增量10w,列数:60列,抽取大概需要多久?
...