教程:将 Fabric 笔记本与 Kqlmagic 配合使用来查询 KQL 数据库

使用结构笔记本可以创建和共享包含实时代码、公式、可视化效果和叙述文本的文档。 它可用于各种任务,例如数据清理和转换、数值模拟、统计建模、数据可视化和机器学习。

Kqlmagic 扩展了 Fabric 笔记本中 Python 内核的功能,使能够直接从笔记本单元运行 Kusto 查询语言(KQL) 查询。 可以结合 Python 和 KQL,利用与 呈现 运算符集成的丰富 Plotly 库来查询和可视化数据。

有关笔记本的详细信息,请参阅 如何使用 Microsoft Fabric 笔记本

本教程介绍如何使用 Kqlmagic 从 KQL 数据库中的数据运行高级查询和可视化效果。 它在 Real-Time Intelligence 和 Microsoft Fabric 中的数据工程环境中都使用预先创建的数据集和笔记本。

本教程中,您将学习如何:

  • 创建 KQL 数据库
  • 获取数据
  • 使用 Kqlmagic 导入笔记本
  • 运行笔记本

先决条件

1.创建 KQL 数据库

在此步骤中,将在工作区或现有 Eventhouse 中创建名为 NYCTaxiDB 的空 KQL 数据库。

  1. 从左侧导航栏中选择工作区。

  2. 按照以下步骤之一开始创建 KQL 数据库:

    • 选择“新建项”,然后选择“Eventhouse”。 在 Eventhouse 名称 字段中,输入 NYCTaxiDB,然后选择“ 创建”。 会生成具有相同名称的 KQL 数据库。
    • 在现有的 Eventhouse 中,选择“数据库”。 在 KQL 数据库 下, +KQL 数据库名称 字段中输入 NYCTaxiDB,然后选择“ 创建”。
  3. 选择 NYCTaxiDB 数据库,展开 数据库详细信息,复制 查询 URI 并将其粘贴到某个位置,例如记事本,以在后面的步骤中使用。

    显示数据库详细信息的数据库详细信息卡屏幕截图,其中突出显示了名为“复制 URI”的查询 URI 选项。

2. 获取数据

在此步骤中,使用脚本先创建具有指定映射的表,然后将公共 Blob 中的数据获取到此表中。

  1. GitHub 上的 Fabric 示例存储库复制 KQL 脚本

    GitHub 存储库的屏幕截图,其中显示了 NYC 出租车演示笔记本的 KQL 脚本。复制图标突出显示。

  2. 浏览到 KQL 数据库。

  3. 选择 包含代码的查询 ,以在 NYCTaxiDB_queryset中打开一个空选项卡。

  4. 粘贴步骤 1 中的 KQL 脚本。 然后选择“ 运行 ”按钮。

    第一个查询创建表和架构映射。 此查询的输出显示表和映射创建信息,包括命令的类型及完成状态为 已完成 时的结果。 第二个查询加载您的数据。 数据加载可能需要几分钟才能完成。

    查询集窗口的屏幕截图,其中显示了表映射和数据引入的已完成状态。

  5. 刷新查询集并选择 “表 ”以查看名为 trips2 的新创建的表的概述。 在此处可以展开表架构、预览数据并查看查询见解。

    “表”选项卡的屏幕截图,显示 trips2 表。

3. 下载 NYC 出租车演示笔记本

使用示例笔记本查询和可视化在 KQL 数据库中加载的示例数据。

  1. 在 GitHub 上打开 Fabric 示例存储库并下载 NYC 出租车 KQL Notebook。

    GitHub 存储库的屏幕截图,其中显示了 NYC 出租车演示笔记本。突出显示标题为 Raw 的选项。

  2. 在本地将笔记本下载到设备。

    注释

    笔记本必须以 .ipynb 文件格式保存。

4.导入笔记本

此工作流的其余部分使用 Kqlmagic 查询和可视化 KQL 数据库中的数据。

  1. 在工作区中,选择导入>笔记本<从此计算机

    数据工程中项选项的屏幕截图。标题为“导入笔记本”的项目突出显示。

  2. “导入状态 ”窗格中,选择“ 上传”。

    “导入状态”窗口的屏幕截图,其中突出显示了名为“上传”的按钮。

  3. 选择在 步骤 3 中下载的纽约出租车 KQL 笔记本文件。

  4. 导入完成后,选择“ 转到工作区 ”并打开此笔记本。

    上传成功完成并转到工作区的屏幕截图。

5.运行笔记本

选择 播放 按钮以按顺序运行每个单元格,或选择单元格,然后按 Shift+ Enter。 对每个包重复此步骤。

注释

等待完成检查标记出现,然后运行下一个单元格。

显示导入命令的单元格块的屏幕截图。突出显示“播放”按钮。

按顺序运行剩余的单元格,以创建 NYC 出租车取车的热度地图。 有关 Kqlmagic 的详细信息,请参阅 使用 Jupyter Notebook 和 Kqlmagic 扩展分析数据

  1. 以下单元格聚合指定地理边界内的所有取件。

    显示聚合查询的代码单元格的屏幕截图。

  2. 运行以下单元格以绘制纽约市出租车取车热度地图。

    显示用于创建热度地图的查询的代码单元格的屏幕截图。

    在生成的热度地图中,可以看到大多数出租车接客位于曼哈顿下城地区。 此外,JFK和拉瓜迪亚机场都有许多出租车载客服务。

    显示纽约市出租车上车热力图的笔记本屏幕截图。

6.清理资源

通过导航到在其中创建项的工作区来清理创建的项。

  1. 在工作区中,将鼠标悬停在要删除的笔记本上,选择“更多”菜单 [...] >“删除”。

    工作区的屏幕截图,其中显示了 NYC 出租车笔记本的下拉菜单。突出显示标题为“删除”的选项。

  2. 选择 删除。 笔记本在删除后无法恢复。