Real-Time 智能教程第 5 部分:使用 KQL 查询流数据

注释

本教程是系列教程的一部分。 有关上一部分,请参阅: 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
    

    此查询将创建一个时间图表,以时间图表的形式显示切尔西邻里自行车的数量。

    Real-Time Intelligence 中自行车时间表的屏幕截图。

创建具体化视图

在此步骤中,您将创建一个具体化视图,该视图返回聚合查询的最新结果。 查询具体化视图的速度比直接在源表上运行聚合要快。

  1. 复制并粘贴,然后运行以下命令,创建具体化视图,该视图显示每个自行车站的最新自行车数量。

    .create-or-alter materialized-view with (folder="Gold") AggregatedData on table TransformedData
    {
       TransformedData
       | summarize arg_max(Timestamp,No_Bikes) by BikepointID
    }
    
  2. 复制并粘贴,然后运行以下查询,将物化视图中的数据查看为柱形图。

    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 查询。

  1. 从菜单栏中选择 查询集

  2. 在 KQL 查询集中,从菜单栏中选择 Copilot 图标。

    如何到达合适的 copilot 的步骤截图。

  3. 以自然语言输入问题。 例如,“哪个车站现在拥有最多的自行车。 使用具体化视图以获取最新的数据。建议在您的查询中包含具体化视图的名称。

    Copilot 根据你的问题建议查询。

  4. 选择 “插入 ”按钮,将查询添加到 KQL 编辑器。

    Copilot 对话框的屏幕截图,其中显示了生成的 KQL 查询和“插入”按钮。

  5. 选择 “运行” 以运行查询。

询问后续问题或更改查询的范围。 使用此功能可快速了解 KQL 并生成查询。

有关本教程中的任务的详细信息,请参阅:

后续步骤