Microsoft Fabric 中的数据库镜像 是一种企业、基于云的零 ETL、SaaS 技术。 本指南可帮助你从 Azure Databricks 建立镜像数据库,该数据库在 OneLake 中创建 Azure Databricks 数据的只读持续复制副本。
先决条件
- 必须在元存储上启用外部数据访问。 有关详细信息,请参阅 在元存储上启用外部数据访问。
- 创建或使用启用了 Unity 目录的现有 Azure Databricks 工作区。
- 你必须对 Unity 目录中的架构具有
EXTERNAL USE SCHEMA特权,该架构包含将从 Fabric 访问的表。 - 需要使用 Fabric 的权限模型为 Fabric 中的目录、架构和表设置访问控制。
- Azure Databricks 工作区不能位于专用终结点后面。
从 Azure Databricks 创建镜像数据库
按照以下步骤从 Azure Databricks Unity 目录创建新的镜像数据库。
请导航至 https://powerbi.com
选择“ + 新建 ”,然后选择 “镜像的 Azure Databricks 目录”。
如果已配置现有连接,请选择现有连接。
- 如果没有现有连接,请创建新的连接并输入所有详细信息。 可以使用“组织帐户”或“服务主体”向 Azure Databricks 工作区进行身份验证。 若要创建连接,必须是 Azure Databricks 工作区的用户或管理员。
- 若要访问防火墙后面的 Azure Data Lake Storage (ADLS) Gen2 帐户,必须遵循本文后面的步骤 为 Azure Data Lake Storage Gen2 帐户启用网络安全访问 。
连接到 Azure Databricks 工作区后,在 Databricks 目录页的“选择表 ”页上,可以通过要从 Microsoft Fabric 添加和访问的包含/排除列表来选择目录、架构和表。 选择要添加到 Fabric 工作区的目录及其相关架构和表。
- 只能根据 Unity 目录特权和安全对象中描述的特权模型查看有权访问的目录/架构/表。
- 默认情况下,会自动 同步所选架构的未来目录更改 。 有关详细信息,请参阅 镜像 Azure Databricks Unity 目录。
- 选择后,请选择“ 下一步”。
默认情况下,项目的名称将是你尝试添加到 Fabric 的目录的名称。 在“ 审阅和创建 ”页上,可以查看详细信息,并根据需要更改镜像数据库项名称,该名称在工作区中必须是唯一的。 选择 创建。
将创建 Databricks 目录项,并且为每个表创建相应的 Databricks 类型快捷方式。
- 不显示任何表的架构。
通过选择 SQL 分析终结点访问快捷方式时,还可以查看数据的预览。 打开 SQL 分析终结点项以启动资源管理器和查询编辑器页。 可以在 SQL 编辑器中使用 T-SQL 查询镜像的 Azure Databricks 表。
创建 Databricks 目录项的 Lakehouse 快捷方式
还可以创建从 Lakehouse 到 Databricks 目录项的快捷方式,以使用 Lakehouse 数据并使用 Spark Notebook。
- 首先,我们创建一个湖屋。 如果此工作区中已有 lakehouse,则可以使用现有的 Lakehouse。
- 在导航菜单中选择工作区。
- 选择 “+ 新建>Lakehouse”。
- 在 “名称” 字段中为 Lakehouse 提供名称,然后选择“ 创建”。
- 在 Lakehouse 的 资源管理器 视图中,在 Lakehouse 菜单中的“获取数据 ”下,在 Lakehouse 中加载数据下,选择“ 新建快捷方式 ”按钮。
- 选择 Microsoft OneLake。 选择目录。 这是在前面的步骤中创建的数据项。 然后选择下一步。
- 选择架构中的表,然后选择“ 下一步”。
- 选择 创建。
- 现在,Lakehouse 中提供了用于其他 Lakehouse 数据的快捷方式。 还可以使用 Notebook 和 Spark 对从 Azure Databricks 工作区添加的这些目录表的数据执行数据处理。
创建语义模型
可以根据镜像项创建 Power BI 语义模型,并手动添加/删除表。 有关创建和管理语义模型的详细信息,请参阅 创建 Power BI 语义模型。
为获得最佳体验,建议将 Microsoft Edge Browser 用于语义建模任务。
管理语义模型关系
基于镜像数据库创建新的语义模型后,
- 从工作区中的资源管理器中选择模型布局。
- 选择模型布局后,将显示作为语义模型的一部分包含的表的图形。
- 若要创建表之间的关系,请将列名从一个表拖动到另一个表的另一个列名。 此时会显示一个弹出窗口,用于标识表的关系和基数。
为 Azure Data Lake Storage Gen2 帐户启用网络安全访问
本部分介绍如何在配置 Azure 存储防火墙 时为 Azure Data Lake Storage (ADLS) Gen2 帐户配置网络安全。
先决条件
- 创建或使用启用了 Unity 目录的现有 Azure Databricks 工作区。
- 若要启用工作区标识身份验证类型(建议),Fabric 工作区必须与任何 F 容量相关联。 若要创建工作区标识,请参阅 使用工作区标识进行身份验证。
- 本部分用于访问 Azure 存储防火墙后面的 Azure Data Lake Storage(ADLS) Gen2 存储帐户。 不支持 Azure 存储防火墙后面的 Azure Databricks 工作区存储。
- 目录必须与单个存储帐户相关联。
启用网络安全访问
创建新的镜像 Azure Databricks 目录时,在 “选择数据 ”步骤中选择“ 网络安全 ”选项卡。
如果已配置存储帐户,请选择与存储帐户 的现有连接 。
- 如果没有现有的 ADLS 连接,请创建新的 连接。
- 存储终结点的 URL 是存储所选目录的数据的位置。 终结点应是存储数据的特定文件夹,而不是指定要位于存储帐户级别的终结点。 例如,提供
https://<storage account>.dfs.core.windows.net/container1/folder1而不是https://<storage account>.dfs.core.windows.net/. - 提供连接凭据。 支持的身份验证类型包括组织帐户、服务主体和工作区标识(建议)。
在 Azure 门户中,根据在上一步中选择的身份验证类型提供对存储帐户的访问权限。 在 Azure 门户中导航到存储帐户。 选择“访问控制”(IAM)。 选择 “+添加 和 添加角色分配”。 有关详细信息,请参阅使用 Azure 门户分配 Azure 角色。
- 如果将存储帐户指定为连接的一部分,则所选的身份验证对象需要在存储帐户上具有 存储 Blob 数据读取者 角色。
- 如果将特定容器指定为连接的一部分,则所选的身份验证对象需要在容器上具有 存储 Blob 数据读取者 角色。
- 如果在容器(建议)中指定了特定文件夹,则所选的身份验证对象需要在文件夹级别具有读取(R)和执行(E)。 如果使用服务主体或工作区标识作为身份验证类型,则需要向该服务主体或工作区标识授予对容器根文件夹以及导致指定文件夹的文件夹层次结构中的每个文件夹 的权限 。
有关授予 ADLS 访问权限的详细信息和步骤,请参阅 ADLS 访问控制。
启用 受信任的工作区访问 以安全的方式访问已启用防火墙的 Azure Data Lake Storage (ADLS) Gen2 帐户。 受信任的工作区访问需要直接创建与 ADLS 存储帐户的连接,该帐户可以独立于 Azure Databricks 工作区连接使用。 有关详细信息,请参阅 Azure Databricks 中的 Secure Fabric 镜像数据库。
将为存储帐户名称与 ADLS 连接中指定的存储帐户匹配的表创建 Unity 目录表的快捷方式。 对于存储帐户名称与 ADLS 连接中指定的存储帐户不匹配的任何表,将不会创建这些表的快捷方式。
重要
如果计划使用镜像 Azure Databricks 目录项方案外部的 ADLS 连接,则还需要在存储帐户上提供 存储 Blob 委派器 角色。
在镜像 Databricks 项上启用 OneLake 安全性
按照以下步骤将 Unity 目录 (UC) 策略映射到 Microsoft OneLake 安全性:
- 同步 Entra 组并在 Unity 目录中应用权限。 在 Azure Databricks 中,使用自动标识管理来同步Microsoft Entra ID 组,并向其授予必要的 Unity 目录特权,例如 USE、BROWSE、SELECT 的相关目录/表。
- 分配 OneLake 数据访问角色。 在 Fabric 工作区中,为新镜像的数据创建数据访问角色。 将相同的 Entra 组添加到此角色,并向其授予对对应于 Azure Databricks 表的 OneLake 快捷方式的读取访问权限。 可以在功能区中的 “管理 OneLake 安全 ”按钮中立即开始使用表级安全性。 确保随着目录结构和权限的发展而保持访问配置同步。 有关详细信息,请参阅 OneLake 数据访问控制模型(预览版)。