You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure ADX物化视图内容同步问题:删除源数据后如何更新视图?

解决方案:让物化视图同步源表通过扩展标记删除的数据

目前Kusto的物化视图不会自动感知源表通过.drop extents操作删除的底层数据,但可以通过以下几种方式实现数据对齐:

  • 利用扩展标记继承批量删除物化视图数据
    源表摄入时指定的扩展标记默认会被物化视图的扩展继承,所以可以直接用相同的标记过滤并删除物化视图中对应的数据:

    .drop extents <| .show table TestEventsMV extents where tags has "drop-by:test"
    

    若物化视图的extent_tags策略被修改过,需先重置为默认继承规则:

    .alter materialized-view TestEventsMV policy extent_tags "[]"
    
  • 改用软删除+视图过滤逻辑
    放弃直接删除扩展的方式,在源表中添加IsDeleted布尔列标记数据删除状态,然后创建物化视图时过滤掉已标记删除的数据:

    create materialized-view TestEventsMV on table TestEvents {
        where IsDeleted == false
        summarize count() by EventType, bin(Timestamp, 1h)
    }
    

    当源表标记数据为已删除后,物化视图会在自动增量刷新时剔除这些数据。

  • 触发物化视图完全刷新
    执行完全刷新命令,强制视图基于当前源表的完整数据重新计算,从而清除已删除的内容:

    .refresh materialized-view TestEventsMV fully
    

    注意:该操作资源消耗较高,适合数据量较小或低频清理的场景。

补充说明:物化视图的增量更新依赖源表的新增/修改日志,直接删除源表扩展属于底层元数据操作,不会触发视图的增量同步,因此需要通过上述方法主动对齐数据。

内容的提问来源于stack exchange,提问作者apex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 13:29:58