Kusto 查询语言 (KQL)
用于在
Azure 数据资源管理器
、
Azure Monitor Log Analytics
、
Azure Sentinel
等中编写查询。 本教程介绍用于访问和分析数据的基本 KQL 运算符。
本教程介绍以下操作:
查看数据示例
选择列的子集
列出唯一值
按条件筛选
对结果进行排序
获取前
n
行
创建计算列
将值从一个集映射到另一个集
本教程中的示例使用
StormEvents
帮助
群集
中公开提供的表。 若要使用自己的数据进行浏览,
请创建自己的免费群集
。
用于登录到
帮助群集
的 Microsoft 帐户或 Azure Active Directory 用户标识
首先,使用
count
运算符查找表中的 storm 记录
StormEvents
数。
StormEvents
| count
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| project StartTime, EndTime, State, EventType, DamageProperty
有 146 个事件与这些条件匹配。 下面是其中 5 个示例。
StartTime
EndTime
EventType
DamageProperty
对结果进行排序
若要查看德克萨斯州造成最大破坏的顶级洪水,请使用 排序 运算符根据 DamageProperty
列按降序排列行。 默认排序顺序为降序。 若要按升序排序,请指定 asc
。
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| sort by DamageProperty
| project StartTime, EndTime, State, EventType, DamageProperty
StartTime
EndTime
EventType
DamageProperty
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty
| project StartTime, EndTime, State, EventType, DamageProperty
StartTime
EndTime
EventType
DamageProperty
project 和 extend 运算符都可以创建计算列。
使用 project
仅指定要查看的列,使用 extend
将计算列追加到表的末尾。
以下查询使用 和 EndTime
之间的差异StartTime
创建计算Duration
列。 由于我们只想查看几个选择列,因此在这种情况下,使用 project
是更好的选择。
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty desc
| project StartTime, EndTime, Duration = EndTime - StartTime, DamageProperty
StartTime
EndTime
DamageProperty
如果查看计算 Duration
列,可能会注意到造成最大破坏的洪水也是最长的洪水。
使用 extend
查看计算 Duration
列以及所有其他列。 该 Duration
列将添加为最后一列。
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty desc
| extend Duration = EndTime - StartTime
StartTime
EndTime
StormEvents
| where Source == "Emergency Manager" or Source == "Utility Company"
| project EventId, Source, FriendlyName = sourceMapping[Source]
EpisodeId
FriendlyName