DLT管道反复出现MERGE源物化失败问题,求SCD-1相关指引
问题2:SCD-1模式下Apply Changes的MERGE逻辑
当在DLT中使用APPLY CHANGES INTO配置SCD-1类型时,基于主键和sequenceCol的匹配逻辑如下:
- 主键匹配且源数据sequenceCol值更大:用源数据最新记录更新目标表中对应主键的现有记录,所有字段会被覆盖(符合SCD-1覆盖更新的特性)
- 主键匹配但源数据sequenceCol值更小/相等:不执行任何操作,因为sequenceCol用于判断数据版本新旧,旧版本不会覆盖新版本
- 主键不匹配:将源数据的这条记录插入到目标表中
- SCD-1模式下默认不会执行删除操作,只有显式配置
DELETE WHEN条件时才会触发删除
相关文档指引
你可以参考Databricks官方的Delta Live Tables文档中关于缓慢变化维度(SCD)的章节,里面包含:
APPLY CHANGES INTO的完整语法参数说明- SCD-1与SCD-2的行为差异对比
- sequenceCol和主键的作用机制详解
- 可直接复用的SCD-1配置示例
内容的提问来源于stack exchange,提问作者user6249539
相关产品推荐
相关产品推荐

