增量配置
本文档介绍如何在不同类型的视图上配置增量更新,包括基础视图(数据源-表)、逻辑视图、分区视图、方言视图,以及 INSERT 和 MERGE 两种增量类型的使用方法。
一、概念说明
| 术语 | 含义 |
|---|---|
| 增量字段 | 用于判断“哪些数据是新增/变更“的字段,通常是时间戳、自增 ID 等单调递增字段 |
| 增量更新 | 仅同步增量字段发生变化的数据,避免每次全量刷新,提升性能 |
| INSERT | 仅追加新增数据 |
| MERGE | 按指定条件匹配:命中则更新(UPDATE),未命中则按策略处理(插入 / 跳过) |
二、视图类型与增量能力对照表
| 视图类型 | 支持 INSERT | 支持 MERGE | 备注 |
|---|---|---|---|
| 基础视图(数据源-表) | ✅ | ✅ | 需先在表上配置增量字段 |
| 逻辑视图 | ✅ | ✅ | — |
| 分区视图 | ✅ | ❌ | 仅支持 INSERT |
| 方言视图 | ✅ | ✅ | — |
| 通过 CREATE 语句创建的表 | ✅ | ✅ | — |
| 聚合投影 | ❌ | ❌ | 不支持任何增量类型 |
三、基础视图(数据源-表)增量配置
步骤 1:在数据源表上配置增量字段
进入 数据源 → 表详情 → 编辑表,为目标表配置增量更新字段。

步骤 2:新建投影并开启增量更新
在新建投影时,选择“增量更新”。

⚠️ 开启增量更新需同时满足的条件
| 序号 | 条件 | 说明 |
|---|---|---|
| 1 | 基础视图(数据源-表)已配置增量字段 | 见步骤 1 |
| 2 | 投影字段中仅包含一个增量字段 | 不能同时有多个增量字段 |
| 3 | 投影字段未进行复杂加工和转换 | 例如 DATE_TRUNC('YEAR', <增量字段>) 属于复杂加工,不允许 |
四、逻辑视图 / 分区视图 / 方言视图 增量配置
「逻辑视图 / 分区视图 / 方言视图」的投影增量配置入口与基础视图一致,开启条件也与基础视图相同(参见上一节的三项条件)。

进入增量配置后,需选择增量类型:INSERT 或 MERGE。
4.1 INSERT 类型
选择 INSERT 后,系统会自动展示增量字段,无需额外配置。

4.2 MERGE 类型
选择 MERGE 后,需要进一步配置 MERGE 条件 和 匹配失败策略。

① MERGE 条件
用于定义“按哪些字段判定为同一条数据“。
-
示例
-
UPDATE SET:点击按钮后自动生成更新语句,无需手动填写
② 匹配失败策略
当数据未匹配到现有记录时的处理方式,二选一:
| 策略 | 行为 |
|---|---|
| 作为新数据插入 | 类似 UPSERT,匹配不到则新增 |
| 直接跳过 | 仅更新已有数据,新数据不写入 |
五、常见限制与注意事项
-
聚合投影完全不支持增量更新,如需增量请改用普通投影。
-
分区视图仅支持 INSERT,不支持 MERGE。
-
投影中仅允许包含一个增量字段,多增量字段场景请拆分投影。
-
增量字段不能参与复杂加工(如
DATE_TRUNC、CAST、表达式运算等),否则无法开启增量。 -
配置 MERGE 时,MERGE 条件字段建议选择具有唯一性的字段(如主键、唯一索引),避免一对多匹配导致数据异常。
