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

如何使用Kusto KQL移除动态数组中的连续重复项?

移除KQL动态数组中的连续重复项

要把动态数组里的连续重复项去掉(比如把[x,y,z,z,z]转成[x,y,z]),可以通过KQL的mv-apply结合scan操作实现,以下是适配你现有查询的改造方案:

| project ClusterName, NodeName, UserName, LoadError
| summarize LoadErrorSequence = make_list(LoadError) by ClusterName, NodeName, UserName
// 核心:移除连续重复项
| mv-apply LoadErrorSequence on (
    scan declare(prev_error: string) with (
        // 初始化第一个元素
        step s1: prev_error == "" => prev_error = LoadErrorSequence, output LoadErrorSequence;
        // 仅保留与前一个元素不同的项
        step s2: prev_error != LoadErrorSequence => prev_error = LoadErrorSequence, output LoadErrorSequence;
    )
    | summarize DedupedSequence = make_list(LoadErrorSequence)
)
| extend LoadErrorSequenceJson = dynamic_to_json(DedupedSequence)
| summarize count() by LoadErrorSequenceJson

关键逻辑说明

  • mv-apply:把每个分组的LoadErrorSequence数组拆成单行元素,方便逐个处理
  • scan:遍历元素时记录前一个保留的元素,只输出与前一个不同的元素,从而过滤掉连续重复项
  • 最后用make_list重新组装出去重后的数组,再继续你原来的转JSON和统计操作

内容的提问来源于stack exchange,提问作者Node.JS

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 12:07:03