在本教程的本节中,将使用 Fabric 笔记本将数字孪生生成器(预览版)本体投影到 Eventhouse 中。 通过此步骤,可以在数字孪生生成器数据上运行 KQL 查询,以便在 Real-Time Intelligence 中进一步分析。
重要
此功能目前为预览版。
在本教程的这一部分,你将创建快捷方式,以便将你的数字孪生生成器数据从 Lakehouse 中导入 Eventhouse 的 Tutorial KQL 数据库中。 然后,运行一个笔记本代码示例,该示例生成一个脚本,用于在 Eventhouse 中投影数字孪生生成器数据的有组织视图。 该脚本在 Eventhouse 中创建用户定义的函数,其中一个用于数字孪生生成器本体中的每个实体和属性类型。 稍后,您可以在 KQL 查询中使用这些函数访问从 Eventhouse 获取的已整理的数字孪生构建器本体数据。
准备 eventhouse KQL 数据库
首先准备事件库和 KQL 数据库以访问数字孪生生成器(预览版)数据。
数字孪生生成器映射中的数据存储在一个新的数据湖房中,其名称类似于您的数字孪生生成器项名称,后缀为 dtdm。 在本教程中,它称为 BusModeldtdm。 湖畔小屋位于工作区的根文件夹中。
在本部分中,将数字孪生构建器的数据湖仓中的表添加为KQL数据库中的外部表。 稍后,运行示例笔记本代码以设置 Eventhouse 投影,该投影运行在此数据上并对其进行组织。
在菜单功能区中,选择 “新建>OneLake”快捷方式。
在“内部源”下,选择“Microsoft OneLake”。 然后选择 BusModeldtdm。
展开 表 列表并开始选择所有表。 一次性添加到快捷方式的表数有限制,因此在选择 10 个表后停止,并看到警告消息。 记下停止的位置。
选择“下一步”和“创建”来创建快捷方式。
重复两次快捷方式创建步骤,以便将所有表添加为快捷方式。
完成后,您可以在 KQL 数据库中的快捷方式标签下找到所有外部数字孪生构建器的数据表。
准备笔记本并安装依赖项
接下来,准备一个笔记本,以在 KQL 数据库中的数字孪生生成器数据上运行示例 Eventhouse 投影代码。 在此步骤中,导入示例笔记本并将其链接到数字孪生生成器数据,然后上传并安装所需的 Python 包。
导入笔记本
首先,导入示例 Fabric 笔记本。 它包含用于生成 Eventhouse 投影的代码。
从 GitHub 中的示例文件夹中下载 DTB_Generate_Eventhouse_Projection.ipynb : digital-twin-builder。
转到你的工作区。 从菜单功能区中,选择导入>笔记本>从此计算机。
上传笔记本文件。
笔记本已导入工作区。 从工作区项中选择它以将其打开。
在笔记本的 “资源管理器” 窗格中,选择 “添加数据项>现有数据源”。
选择 BusModeldtdm lakehouse,然后选择 连接。
在 资源管理器窗格中,选择湖仓名称旁边的...,然后选择设置为默认湖仓。
可选地删除默认添加的其他湖仓,以简化视图。
上传并安装 Python 包
接下来,安装笔记本所需的 Python 包,以处理数字孪生构建器数据。 在本部分中,您将包上传到 Lakehouse,然后在笔记本中进行安装。
从 GitHub 中的示例文件夹中下载 dtb_samples-0.1-py3-none-any.whl : digital-twin-builder。
在打开的笔记本中 Explorer 窗格中,展开 BusModeldtdm。 选择“...“旁边的“文件”,再选择“上传”>“上传文件”。
上传 .whl 文件。
关闭 上传文件 窗格,然后在 lakehouse 的 文件 窗格中查看新文件。
在笔记本中,通过运行第一个代码块来安装包。
不到一分钟后,软件包已安装,笔记本确认代码下方出现复选标记,表示运行成功。
运行 Eventhouse 投影代码
接下来,运行笔记本代码的其余部分以生成 Eventhouse 投影脚本。 此脚本在 Eventhouse 中创建用户定义的函数,这些函数对应于数字孪生生成器实体及其属性。
在第二个代码块中,有变量用于
dtb_item_name
和kql_db_name
。 使用 BusModel 和 Tutorial 填充其值(区分大小写)。 运行代码块。 笔记本使用代码下方的对勾确认运行成功。向下滚动到下一个代码块并运行它。 此代码块完成以下作:
- 连接到 工作区 和 数字孪生构建器体系
- 设置 Spark 读取器 以从数字孪生生成器数据库拉取数据
- 生成一个脚本,将数字孪生构建器的数据推送到 Eventhouse
- 根据数字孪生生成器的配置自动创建多个 函数 ,使此数据在 Eventhouse 中易于访问,以便在 KQL 查询中使用
笔记本通过代码下方的对勾和添加的函数列表(每个实体和属性类型都有一个)确认代码成功执行的状态。
小窍门
如果看到 ModuleNotFoundError,请使用包安装重新运行第一个代码块。 然后,重新运行此代码块。
运行最后一个代码块。 此代码运行一个 Python 代码片段,该代码将脚本发送到 Fabric REST API,并针对 KQL 数据库执行它。 笔记本通过代码下方的复选标记确认运行成功的状态,并确认它已成功创建 Eventhouse 域中的投影函数。
现在,在 Eventhouse 中已创建了投影功能,为每个数字孪生构建器实体及其属性类型单独设置。
验证投影函数
验证是否已在 KQL 数据库中成功创建函数。
转到 "教程" KQL 数据库并刷新视图。
展开资源管理器窗格中的“函数”以查看笔记本创建的函数列表(在创建函数时,extractBusData 函数也在那里,可以在教程第 2 部分:获取和处理流数据中找到)。
从“资源管理器”窗格中选择 Tutorial_queryset 以打开查询窗口。 +使用上面的查询窗格创建新查询,然后输入
.show functions
。 这会在查询集中显示函数的列表,你可以展开以查看其详细信息。运行函数以查看它们生成的数据投影。 识别出属性是你在教程第3部分:构建本体中映射到数字孪生构建器的本体的字段。
(可选)将查询选项卡保存为 “浏览”函数 ,以便稍后可以识别它。
现在,可以使用这些用户定义的函数编写其他 KQL 查询,以访问数字孪生生成器(预览)本体中的数据。 在下一教程部分中,使用这些函数编写 KQL 查询,以便从数据中提取见解,并在 Real-Time 仪表板中显示结果。