学习Kusto,不明白bin()函数如何对时间戳进行分组:
StormEvents
| where StartTime > datetime(2007-02-14) and StartTime < datetime(2007-03-21)
| summarize event_count = count() by bin(StartTime, 7d)
Run Code Online (Sandbox Code Playgroud)
结果是:
StartTime | event_count
**2007-02-12** 00:00:00.0000000 | 535
2007-02-19 00:00:00.0000000 | 1652
2007-02-26 00:00:00.0000000 | 1688
2007-03-05 00:00:00.0000000 | 442
2007-03-12 00:00:00.0000000 | 796
2007-03-19 00:00:00.0000000 | 54
Run Code Online (Sandbox Code Playgroud)
问题:为什么结果的第一个日期是从 2-12 开始,而不是我的代码所示的 2-14?
先感谢您
假设我在Azure 数据资源管理器中有一个如下所示的表:
let data = datatable(id:int, dateTime:datetime)
[
1,"2021-03-03",
1,"2021-03-04",
1,"2021-03-12",
2,"2021-03-04",
2,"2021-03-04",
2,"2021-03-07"
]
Run Code Online (Sandbox Code Playgroud)
我想要一个Kusto 查询语言查询,它将查找每个 id 具有最新日期时间的记录。即,我希望查询返回以下记录:
| ID | 约会时间 |
|---|---|
| 2 | 2021-03-07 00:00:00.0000000 |
| 1 | 2021-03-12 00:00:00.0000000 |
我查看了这个问题,但在这种情况下,操作员只需要一条记录,这是整个表的最大值。我想取回每个id 的最新日期时间的记录。
我怎样才能做到这一点?
(此示例表仅供说明之用,我正在处理的实际数据要大得多,并且具有许多 ID,并且未排序。)
是否可以更新 Azure 数据资源管理器中的行?
对于存储频繁更新的大型库存(1 亿个项目)来说,它是一个不错的选择,还是主要针对仅附加数据场景进行了优化?我的存储库全天候更新,我需要立即(接近实时)看到更改。
假设我需要全文搜索、分面和基本项目查询/查找以及近实时更新(全天候流动)。它与 ElasticSearch 相比如何?假设我将两者作为托管服务使用。我最关心的是更新部分。
下面是一个快速而乏味的解决方案。
如果您有更好的,请将其包含在您的答案中。
let tree_height = 15;
range i from -1 to tree_height * 2 step 2
| extend side_width = tree_height + 1 - i / 2
| extend side_space = strrep(" ", side_width)
| extend tree_part = case(i > 0, strcat("/", strrep("*", i), @"\"), " ^ ")
| project ta_da = strcat(side_space, tree_part, side_space)
Run Code Online (Sandbox Code Playgroud)
^
/*\
/***\
/*****\
/*******\
/*********\
/***********\
/*************\
/***************\
/*****************\
/*******************\
/*********************\
/***********************\
/*************************\
/***************************\
/*****************************\
Run Code Online (Sandbox Code Playgroud)
kql azure-data-explorer azure-sentinel azure-monitor kusto-explorer
我有一张这样的桌子:-
Type | shown | eaten |
-----------------------
a | 5 | 2 |
b | 6 | 23 |
c | 8 | 12 |
d | 19 | 11 |
e | 2 | 22 |
-----------------------
Run Code Online (Sandbox Code Playgroud)
我想这样转换它:-
Type | action | count |
-----------------------
a | shown | 5 |
a | eaten | 2 |
b | shown | 6 |
b | eaten | 23 |
c | shown | 8 |
c | eaten …Run Code Online (Sandbox Code Playgroud) 我想提取我正在处理的 Kusto 查询的时间(以分钟为单位)。我有一个时间跨度以以下格式表示的列 (HH:MM:SS.MilliSeconds) 01:18:54.0637555。我想从中提取分钟数,在本例中为 78 分钟。我怎样才能做到这一点 ?
就性能而言,是以下查询
ResourceEvents
| where ResourceType == "Foo" and EventType == "Bar"
Run Code Online (Sandbox Code Playgroud)
几乎与
ResourceEvents
| where ResourceType == "Foo"
| where EventType == "Bar"
Run Code Online (Sandbox Code Playgroud)
或者记录是否按顺序过滤,执行两次搜索而不是组合一次?
我正在查看 Web 应用程序的 Azure 日志分析,并且我有多个包含数据的开箱即用“表”:traces, requests,exceptions等。
我可以构造一个对多个表中的数据运行的查询吗?我不想加入来自不同来源的数据,我只想连接/交错它,所以我可以寻找例如“所有痕迹和包含字符串‘SQL’的
从理论上讲,类似于:
traces, exceptions
| where * contains "SQL"
| order by timestamp desc
| limit 100
Run Code Online (Sandbox Code Playgroud)
这可能吗?
我对 Kusto 查询语言相当陌生,所以也许这是很常见的事情,但我真的找不到答案。所以就这样吧。
我已在某些服务器上启用了 Azure Log Analytics 性能收集,并希望实现以下目标:
从Perf数据集中,选择前一天的所有CPU数据,并显示每5分钟的平均CPU利用率。现在我已经弄清楚了第一部分,这真的很容易做到。但是我不知道如何在 Kusto 中进行每 5 分钟的选择。我猜想有什么总结?有人可以分享一些见解吗?
Perf
| where Computer == "servername.domain.internal"
| where TimeGenerated > ago(1d)
| where CounterName == "% Processor Time"
| where ObjectName == "Processor Information"
Run Code Online (Sandbox Code Playgroud) 我有一个表,我想使用 Kusto 查询语言获取每个组的最新条目。这是表格:
文档状态日志
| ID | 文档ID | 地位 | 创建日期 |
|---|---|---|---|
| 2 | 1 | S1 | 2011年7月29日 |
| 3 | 1 | S2 | 2011年7月30日 |
| 6 | 1 | S1 | 2011年8月2日 |
| 1 | 2 | S1 | 2011年7月28日 |
| 4 | 2 | S2 | 2011年7月30日 |
| 5 | 2 | S3 | 2011年8月1日 |
| 6 | 3 | S1 | 2011年8月2日 |
该表将按 DocumentID 分组并按 DateCreated 降序排序。对于每个 DocumentID,我想获取最新状态。
我的首选输出:
| 文档ID | 地位 | 创建日期 |
|---|---|---|
| 1 | S1 | 2011年8月2日 |
| 2 | S3 | 2011年8月1日 |
| 3 | S1 | 2011年8月2日 |
有没有办法使用 KQL 只获取每个组中的顶部?
GetOnlyTheTop伪代码如下:
SELECT
DocumentID,
GetOnlyTheTop(Status),
GetOnlyTheTop(DateCreated)
FROM DocumentStatusLogs
GROUP BY DocumentID
ORDER BY DateCreated DESC
Run Code Online (Sandbox Code Playgroud)
图片来源:改编自 DPP 的 SQL 问题:获取每组的前 1 行
group-by partition-by kql azure-data-explorer kusto-explorer