在本教程中,将从 Fabric 数据库中的现有 Cosmos DB 查询 Fabric 镜像数据库。 了解如何在数据库上启用镜像,验证镜像状态,然后使用源和镜像数据进行分析。
先决条件
现有结构容量
- 如果没有 Fabric 容量, 请启动 Fabric 试用版。
Fabric 中的现有 Cosmos DB 数据库
在 Fabric 数据库中配置 Cosmos DB
首先,请确保正确配置了 Fabric 数据库中的 Cosmos DB,并确保其中包含用于镜像的数据。
打开 Fabric 门户(https://app.fabric.microsoft.com)。
导航到现有的 Cosmos DB 数据库。
重要
在本教程中,现有 Cosmos DB 数据库应已加载 示例数据集 。 本教程中的剩余步骤假定你使用此数据库的同一数据集。
验证数据库是否包含至少一个包含数据的容器。 通过在导航窗格中展开容器并确认项目存在性来执行此操作。
在菜单栏中,选择 “设置” 以访问数据库配置。
在 “设置” 对话框中,导航到“ 镜像 ”部分,验证是否为此数据库启用了镜像。
注释
Fabric 中的所有 Cosmos DB 数据库都会自动启用自动镜像。 此功能不需要任何额外的配置,并确保你的数据始终在 OneLake 中准备就绪。
连接到源数据库
接下来,确认可以直接连接到源 Cosmos DB 数据库并查询。
在 Fabric 门户中返回到您现有的 Cosmos DB 数据库。
选择并展开现有容器以查看其内容。
选择 “项 ”以直接在数据库中浏览数据。
验证是否可以查看容器中的项。 例如,如果使用示例数据集,应会看到具有属性的项目,例如
name,category和countryOfOrigin。从菜单中选择 “新建查询 ”以打开 NoSQL 查询编辑器。
运行测试查询以验证连接和数据可用性:
SELECT COUNT(1) AS itemCount FROM container此查询应返回容器中的项总数。
连接到镜像数据库
现在,通过 SQL 分析终结点访问数据库的镜像版本,以使用 T-SQL 查询相同的数据。
在菜单栏中,选择 Cosmos DB 列表,然后选择 SQL 分析终结点 以切换到镜像数据库视图。
验证您的容器在 SQL Analytics 端点中是否显示为表格。 该表的名称应与容器相同。
从菜单中选择 “新建 SQL 查询 ”以打开 T-SQL 查询编辑器。
运行测试查询以验证镜像是否正常工作:
SELECT COUNT(*) AS itemCount FROM [dbo].[SampleData]注释
如果您不使用示例数据集,请将
[SampleData]替换为您的容器名称。查询应返回与 NoSQL 查询相同的计数,确认镜像已成功复制数据。
从 Fabric 查询源数据库
使用 Fabric 门户浏览 Azure Cosmos DB 帐户中已存在的数据,并查询源 Cosmos DB 数据库。
在 Fabric 门户中导航到镜像数据库。
选择 “视图”,然后选择 “源数据库”。 此动作使用源数据库的只读视图打开 Azure Cosmos DB 数据浏览器。
选择容器,然后打开上下文菜单,然后选择“ 新建 SQL 查询”。
运行任何查询。 例如,使用
SELECT COUNT(1) FROM container来计算容器中的项数。注释
源数据库上的所有读取将路由到 Azure,并消耗在帐户上分配的请求单位(RU)。
分析目标镜像数据库
现在,使用 T-SQL 查询现在存储在 Fabric OneLake 中的 NoSQL 数据。
在 Fabric 门户中导航到镜像数据库。
从 镜像 Azure Cosmos DB 切换到 SQL 分析终结点。
源数据库中的每个容器都应在 SQL 分析终结点中表示为仓库表。
选择任意表,打开上下文菜单,然后选择“ 新建 SQL 查询”,最后选择“ 选择前 100 名”。
查询执行并返回所选表中的 100 条记录。
打开同一表的上下文菜单,然后选择“ 新建 SQL 查询”。 编写使用聚合的示例查询,例如
SUM、COUNT或MINMAX。 联接仓库中的多个表,以跨多个容器执行查询。注释
例如,此查询将跨多个容器执行:
SELECT d.[product_category_name], t.[order_status], c.[customer_country], s.[seller_state], p.[payment_type], sum(o.[price]) as price, sum(o.[freight_value]) freight_value FROM [dbo].[products] p INNER JOIN [dbo].[OrdersDB_order_payments] p on o.[order_id] = p.[order_id] INNER JOIN [dbo].[OrdersDB_order_status] t ON o.[order_id] = t.[order_id] INNER JOIN [dbo].[OrdersDB_customers] c on t.[customer_id] = c.[customer_id] INNER JOIN [dbo].[OrdersDB_productdirectory] d ON o.product_id = d.product_id INNER JOIN [dbo].[OrdersDB_sellers] s on o.seller_id = s.seller_id GROUP BY d.[product_category_name], t.[order_status], c.[customer_country], s.[seller_state], p.[payment_type]此示例假设您的表和列的名称。 编写 SQL 查询时,请使用自己的表和列。
选择查询,然后选择另存为视图。 为视图指定唯一的名称。 可以随时从 Fabric 门户访问此视图。
返回到 Fabric 门户中的镜像数据库。
选择 “新建视觉对象查询”。 使用查询编辑器生成复杂的查询。
基于 SQL 查询或视图生成 BI 报表
- 选择查询或视图,然后选择“浏览此数据”(预览版)。 此操作直接使用 OneLake 的 Direct Lake 浏览 Power BI 中的查询。
- 根据需要编辑图表并保存报表。
小窍门
还可以选择使用 Copilot 或其他增强功能来生成仪表板和报表,而无需进一步移动数据。