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