注释
本教程是系列教程的一部分。 有关上一部分,请参阅: Real-Time 智能教程第 4 部分:转换 KQL 数据库中的数据。
在本教程的这一部分中,你将使用几种不同的方法查询流数据。 编写 KQL 查询以可视化时间图中的数据,并使用具体化视图创建聚合查询。 还可以使用 T-SQL 查询数据,并使用 explain 将 SQL 语句转换为 KQL。 最后,使用 Copilot 生成 KQL 查询。
编写 KQL 查询
在上一步中从更新策略创建的表的名称为 TransformedData。 将此表名称(区分大小写)用作查询的数据源。
在Tutorial_queryset中,输入以下查询,然后按 Shift + Enter 运行查询。
TransformedData | where BikepointID > 100 and Neighbourhood == "Chelsea" | project Timestamp, No_Bikes | render timechart此查询将创建一个时间图表,以时间图表的形式显示切尔西邻里自行车的数量。
创建具体化视图
在此步骤中,您将创建一个具体化视图,该视图返回聚合查询的最新结果。 查询具体化视图的速度比直接在源表上运行聚合要快。
复制并粘贴,然后运行以下命令,创建具体化视图,该视图显示每个自行车站的最新自行车数量。
.create-or-alter materialized-view with (folder="Gold") AggregatedData on table TransformedData { TransformedData | summarize arg_max(Timestamp,No_Bikes) by BikepointID }复制并粘贴,然后运行以下查询,将物化视图中的数据查看为柱形图。
AggregatedData | sort by BikepointID | render columnchart with (ycolumns=No_Bikes,xcolumn=BikepointID)
在后面的步骤中使用此查询创建实时仪表板。
重要
如果错过了用于创建表、更新策略、函数或具体化视图的任何步骤,请使用此脚本创建所有必需的资源: 教程命令脚本。
使用 T-SQL 进行查询
查询编辑器支持使用 T-SQL。
输入以下查询,然后按 Shift + Enter 运行查询。
SELECT top(10) * FROM AggregatedData ORDER BY No_Bikes DESC
此查询返回拥有最多自行车的前 10 个自行车站,按降序排列。
将 SQL 查询转换为 KQL
若要获取 T-SQL SELECT 语句的等效 KQL,请在查询之前添加关键字 explain 。 输出显示可在 KQL 查询编辑器中复制和运行的查询的 KQL 版本。
输入以下查询。 然后按 Shift + Enter 运行查询。
explain SELECT top(10) * FROM AggregatedData ORDER BY No_Bikes DESC
此查询返回与输入的 T-SQL 查询等效的 KQL。 KQL 查询将显示在输出窗格中。 尝试复制并粘贴输出,然后运行查询。 此查询可能不会用优化的 KQL 编写。
使用 Copilot 生成 KQL 查询
如果你不熟悉编写 KQL,则可以使用自然语言提问,Copilot 会为你生成 KQL 查询。
从菜单栏中选择 查询集 。
在 KQL 查询集中,从菜单栏中选择 Copilot 图标。
以自然语言输入问题。 例如,“哪个车站现在拥有最多的自行车。 使用具体化视图以获取最新的数据。建议在您的查询中包含具体化视图的名称。
Copilot 根据你的问题建议查询。
选择 “插入 ”按钮,将查询添加到 KQL 编辑器。
选择 “运行” 以运行查询。
询问后续问题或更改查询的范围。 使用此功能可快速了解 KQL 并生成查询。
相关内容
有关本教程中的任务的详细信息,请参阅: