教程:从 Microsoft Fabric 中的 Cosmos DB 查询 Microsoft Fabric 镜像数据库

在本教程中,将从 Fabric 数据库中的现有 Cosmos DB 查询 Fabric 镜像数据库。 了解如何在数据库上启用镜像,验证镜像状态,然后使用源和镜像数据进行分析。

先决条件

在 Fabric 数据库中配置 Cosmos DB

首先,请确保正确配置了 Fabric 数据库中的 Cosmos DB,并确保其中包含用于镜像的数据。

  1. 打开 Fabric 门户(https://app.fabric.microsoft.com)。

  2. 导航到现有的 Cosmos DB 数据库。

    重要

    在本教程中,现有 Cosmos DB 数据库应已加载 示例数据集 。 本教程中的剩余步骤假定你使用此数据库的同一数据集。

  3. 验证数据库是否包含至少一个包含数据的容器。 通过在导航窗格中展开容器并确认项目存在性来执行此操作。

  4. 在菜单栏中,选择 “设置” 以访问数据库配置。

  5. “设置” 对话框中,导航到“ 镜像 ”部分,验证是否为此数据库启用了镜像。

    注释

    Fabric 中的所有 Cosmos DB 数据库都会自动启用自动镜像。 此功能不需要任何额外的配置,并确保你的数据始终在 OneLake 中准备就绪。

连接到源数据库

接下来,确认可以直接连接到源 Cosmos DB 数据库并查询。

  1. 在 Fabric 门户中返回到您现有的 Cosmos DB 数据库。

  2. 选择并展开现有容器以查看其内容。

  3. 选择 “项 ”以直接在数据库中浏览数据。

  4. 验证是否可以查看容器中的项。 例如,如果使用示例数据集,应会看到具有属性的项目,例如 namecategorycountryOfOrigin

  5. 从菜单中选择 “新建查询 ”以打开 NoSQL 查询编辑器。

  6. 运行测试查询以验证连接和数据可用性:

    SELECT COUNT(1) AS itemCount FROM container
    

    此查询应返回容器中的项总数。

连接到镜像数据库

现在,通过 SQL 分析终结点访问数据库的镜像版本,以使用 T-SQL 查询相同的数据。

  1. 在菜单栏中,选择 Cosmos DB 列表,然后选择 SQL 分析终结点 以切换到镜像数据库视图。

  2. 验证您的容器在 SQL Analytics 端点中是否显示为表格。 该表的名称应与容器相同。

  3. 从菜单中选择 “新建 SQL 查询 ”以打开 T-SQL 查询编辑器。

  4. 运行测试查询以验证镜像是否正常工作:

    SELECT COUNT(*) AS itemCount FROM [dbo].[SampleData]
    

    注释

    如果您不使用示例数据集,请将 [SampleData] 替换为您的容器名称。

  5. 查询应返回与 NoSQL 查询相同的计数,确认镜像已成功复制数据。

从 Fabric 查询源数据库

使用 Fabric 门户浏览 Azure Cosmos DB 帐户中已存在的数据,并查询源 Cosmos DB 数据库。

  1. 在 Fabric 门户中导航到镜像数据库。

  2. 选择 “视图”,然后选择 “源数据库”。 此动作使用源数据库的只读视图打开 Azure Cosmos DB 数据浏览器。

    屏幕截图显示数据浏览器中 Azure Cosmos DB 帐户的 NoSQL 数据只读模式。

  3. 选择容器,然后打开上下文菜单,然后选择“ 新建 SQL 查询”。

  4. 运行任何查询。 例如,使用 SELECT COUNT(1) FROM container 来计算容器中的项数。

    注释

    源数据库上的所有读取将路由到 Azure,并消耗在帐户上分配的请求单位(RU)。

分析目标镜像数据库

现在,使用 T-SQL 查询现在存储在 Fabric OneLake 中的 NoSQL 数据。

  1. 在 Fabric 门户中导航到镜像数据库。

  2. 镜像 Azure Cosmos DB 切换到 SQL 分析终结点

    用于在 Fabric 门户的项目之间切换的选择工具的屏幕截图。

  3. 源数据库中的每个容器都应在 SQL 分析终结点中表示为仓库表。

  4. 选择任意表,打开上下文菜单,然后选择“ 新建 SQL 查询”,最后选择“ 选择前 100 名”。

  5. 查询执行并返回所选表中的 100 条记录。

  6. 打开同一表的上下文菜单,然后选择“ 新建 SQL 查询”。 编写使用聚合的示例查询,例如SUMCOUNTMINMAX。 联接仓库中的多个表,以跨多个容器执行查询。

    注释

    例如,此查询将跨多个容器执行:

    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 查询时,请使用自己的表和列。

  7. 选择查询,然后选择另存为视图。 为视图指定唯一的名称。 可以随时从 Fabric 门户访问此视图。

  8. 返回到 Fabric 门户中的镜像数据库。

  9. 选择 “新建视觉对象查询”。 使用查询编辑器生成复杂的查询。

    Fabric 中基于文本的查询和视觉查询的查询编辑器的屏幕截图。

基于 SQL 查询或视图生成 BI 报表

  1. 选择查询或视图,然后选择“浏览此数据”(预览版)。 此操作直接使用 OneLake 的 Direct Lake 浏览 Power BI 中的查询。
  2. 根据需要编辑图表并保存报表。

小窍门

还可以选择使用 Copilot 或其他增强功能来生成仪表板和报表,而无需进一步移动数据。