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

如何在Azure Data Explorer的Materialized View中过滤删除记录并保留最新有效数据?

Azure Data Explorer 物化视图过滤配置方案

完全可以实现你需要的两种过滤场景,具体通过以下KQL语句创建物化视图:

.create materialized-view with (backfill=true) FilteredRecordView on table YourOriginalTableName
{
    YourOriginalTableName
    // 按ID分组,获取每个ID的最新插入时间
    | summarize LatestUTCInsert = max(UTCInsertDate) by ID
    // 关联原表,定位每个ID对应最新时间的记录
    | join kind=inner YourOriginalTableName on ID, $left.LatestUTCInsert == $right.UTCInsertDate
    // 过滤掉最新记录为已删除的ID,仅保留最新未删除的记录
    | where IsDeleted == false
    // 保留需要的字段,根据实际需求调整
    | project ID, /* 替换为你需要的其他字段,比如Value, Category等 */, UTCInsertDate, IsDeleted
}

逻辑说明

  • 针对场景1:通过summarize+join精准锁定每个ID的最新记录,自动忽略该ID早于最新时间的所有旧条目,仅保留最新的未删除记录
  • 针对场景2:where IsDeleted == false直接过滤掉所有最新记录为已删除状态的ID,确保这类ID不会出现在视图中

注意事项

  • 如果同一ID存在多条UTCInsertDate完全相同的记录,建议在summarize或join环节加入额外唯一标识字段(比如主键),避免匹配到多条重复记录
  • backfill=true参数会让视图回溯原表历史数据生成初始结果,若不需要回溯可改为backfill=false
  • 可根据原表数据量和更新频率,通过materialized-view的refreshPolicy参数调整视图刷新周期,优化性能

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 11:00:00