top-hitters 运算符

适用于:✅Azure 数据资源管理器Azure MonitorMicrosoft Sentinel

返回输入中最常用的非重复值或具有最大和的值的近似值。

注意

top-hitters 使用在输入数据较大时针对性能进行优化的近似算法。 近似值基于 Count-Min-Sketch 算法。

语法

T|top-hittersNumberOfValuesofValueExpression [ bySummingExpression ]

详细了解语法约定

参数

客户 类型​​ 必需 说明
T string ✔️ 输入表格表达式。
NumberOfValues int、long 或 real ✔️ ValueExpression 的非重复值的数目。
ValueExpression string ✔️ 返回非重复值的输入表 T 上的表达式。
SummingExpression string 如果指定此项,则输入表 T 上的数值表达式,其每个 ValueExpression 非重复值的总和将建立要发出的值。 如果未指定,则改为使用 ValueExpression 的每个非重复值的计数。

注意

  • 在语法中包含 SummingExpression 时,查询等效于:

    T | summarize S = sum(SummingExpression) by ValueExpression | top NumberOfValues by S desc

  • 在语法中不包含 SummingExpression 时,查询等效于:

    T | summarize C = count() by ValueExpression | top NumberOfValues by C desc

示例

本节中的示例演示如何使用语法帮助你入门。

本文中的示例使用 帮助群集中的公开可用表,例如 StormEvents 数据库中的 表。

按总计获取前 2 个事件

此示例通过计算每个事件类型的事件总数来汇总 storm 事件数据。 然后,该查询选择前两种事件类型,其总事件数最高。

StormEvents
| summarize TotalEventId = sum(EventId) by EventType
| top 2 by TotalEventId desc

输出

事件类型 TotalEventId
雷雨大风 562,509,013
冰雹 474,690,007

获取最频繁的项

此示例演示如何查找前 5 种类型的风暴。

StormEvents
| top-hitters 5 of EventType 

输出

事件类型 approximate_count_EventType
雷雨大风 13015
冰雹 12711
山洪 3688
干旱 3616
冬季天气 3349

获取排名最靠前的项(基于列值)

此示例演示如何查找具有最多 雷暴风 事件的状态。

StormEvents
| where EventType == "Thunderstorm Wind"
| top-hitters 10 of State 

输出

状态 approximate_sum_State
德克萨斯 830
佐治亚州 609
密歇根州 602
衣阿华州 585
宾夕法尼亚州 549
伊利诺伊州 533
纽约 502
弗吉尼亚州 482
堪萨斯州 476
俄亥俄州 455