通过


教程:为 Google BigQuery 设置镜像(预览版)

在本教程中,你将从 Google BigQuery 配置 Fabric 镜像数据库。

注释

虽然此示例特定于 BigQuery,但可以找到为其他数据源(如 Azure SQL 数据库或 Azure Cosmos DB)配置镜像的详细步骤。 有关详细信息,请参阅什么是 Fabric 中的镜像?

先决条件

  • 创建或使用现有的 BigQuery 仓库。 可以在任何云中连接到任何版本的 BigQuery 实例,包括Microsoft Azure。
  • 您需要已有的 Fabric 容量。 如果没有, 请启动 Fabric 试用版

权限要求

需要为包含以下权限的 BigQuery 数据库授予用户权限。

  • bigquery.datasets.create
  • bigquery.tables.list
  • bigquery.tables.create
  • bigquery.tables.export
  • bigquery.tables.get
  • bigquery.tables.getData
  • bigquery.tables.updateData
  • bigquery.routines.get
  • bigquery.routines.list
  • bigquery.jobs.create
  • storage.buckets.create
  • storage.buckets.list
  • storage.objects.create
  • storage.objects.delete
  • storage.objects.list
  • iam.serviceAccounts.signBlob

检索表元数据和更改历史记录配置(必需)

BigQueryAdminStorageAdmin 角色应包括这些权限。 若要确定是启用更改历史记录,还是检索主键或组合键信息,需要以下权限。

用户至少需要分配一个角色,该角色允许访问 BigQuery 实例。 检查访问 BigQuery 数据源的网络要求。 如果使用本地数据网关(OPDG)的 Google BigQuery 镜像功能,则必须拥有 OPDG 版本 3000.286.6 或更高版本才能成功启用镜像。

所需的权限

若要手动建立存储桶(并放弃需要授予 storage.buckets.create 权限),可以使用:

  • bigquery.tables.get
  • bigquery.tables.list
  • bigquery.routines.get
  • bigquery.routines.list
  1. 导航到 Google 控制台中的 云存储 并选择 存储桶
  2. 选择“ 创建 ”并按以下格式命名存储桶(区分大小写): <projectid>_fabric_staging_bucket
  3. 确保存储桶的位置/区域与计划镜像的 GCP 项目相同。
  4. 选择 创建。 镜像系统将自动检测存储桶。

根据用例,可能需要更多权限。 最低要求的权限是用于处理更改历史记录和各种大小的表(大于 10GB 的表)。 即使您没有使用大于 10GB 的表,也请启用所有这些最低权限,以确保镜像功能正常使用。

检索更改历史记录和表数据(必需)

有关权限的详细信息,请参阅 Google BigQuery 文档,了解 流式处理数据的所需权限更改历史记录访问所需的权限,以及 写入查询结果所需的权限

读取更改历史记录和表数据需要以下权限。

重要

源 BigQuery 仓库中建立的任何精细安全性必须在 Microsoft Fabric 的镜像数据库中重新配置。 有关详细信息,请参阅 Microsoft Fabric 中的 SQL 粒度权限

所需的权限

  • bigquery.tables.getData
  • bigquery.jobs.create
  • bigquery.jobs.get
  • bigquery.jobs.list
  • bigquery.readsessions.create
  • bigquery.readsessions.getData

启用更改历史记录功能(必需)

必须使用以下选项 之一 在源 BigQuery 表上启用更改历史记录。

选项 1:启用权限

  • bigquery.tables.update

允许对表启用变更历史记录。

选项 2:在 GCP 中启用表选项

确保下表选项设置为 TRUE

  • enable_change_history

将数据导出到 Google 云存储进行暂存和复制到 OneLake(必需)

需要以下权限才能将 BigQuery 数据导出到 Google 云存储进行暂存,并将其复制到 OneLake。

所需的权限

  • bigquery.tables.export
  • storage.objects.create
  • storage.objects.list
  • storage.buckets.get
  • iam.serviceAccounts.signBlob

用于暂存的 Google 云存储存储桶(必需)

要导出 BigQuery 表数据以进行暂存,必须有一个 Google 云存储储存桶。

存储桶创建选项

使用以下方法之一:

选项 1:允许自动创建存储桶

授予以下权限:

  • storage.buckets.create

选项 2:手动创建暂存存储桶

使用以下命名约定创建存储桶: <your_project_id_in_lowercase>_fabric_staging_bucket

存储桶要求

  • 存储桶 必须与 BigQuery 数据集位于同一位置/区域
  • 镜像系统会在存储桶存在时自动检测它。

列出数据集(必需)

所需的权限

  • bigquery.datasets.get

列出项目(必需)

所需的权限

  • resourcemanager.projects.get

角色和访问要求

BigQuery 管理员存储管理员角色通常包括上面列出的权限。

必须至少分配一个角色来授予对目标 BigQuery 项目和数据集的访问权限。


网络和网关要求

检查访问 BigQuery 数据源的网络要求。

如果要 将 Mirroring for Google BigQuery 与本地数据网关(OPDG)配合使用,则必须使用:

  • OPDG 版本 3000.286.6 或更高版本

其他说明

根据用例,可能需要更多权限。 上面列出的权限表示 以下最低要求

  • 使用更改历史记录
  • 处理各种大小的表,包括大于 10 GB 的表

即使当前未使用大于 10 GB 的表,建议启用所有最小权限以确保镜像成功。

有关详细信息,请参见:

重要

源 BigQuery 仓库中定义的任何精细安全性必须在 Microsoft Fabric 的镜像数据库中重新配置。 有关详细信息,请参阅 Microsoft Fabric 中的 SQL 粒度权限

创建镜像数据库

在本部分中,将从镜像的 BigQuery 数据源创建新的镜像数据库。

可以使用现有工作区(而不是“我的工作区”)或创建新的工作区。

  1. 在工作区中,导航到 “创建 ”中心。
  2. 选择要使用的工作区后,选择“ 创建”。
  3. 选择 镜像的 Google BigQuery 卡。
  4. 输入新数据库的名称。
  5. 选择 创建

通过任何云平台访问你的 BigQuery 实例

注释

可能需要更改云防火墙,以允许镜像连接到 BigQuery 实例。 我们支持 OPDG 3000.286.6 或更高版本的 Google BigQuery 数据镜像功能。 我们还支持 VNET。

  1. 选择“新建连接”下的 BigQuery,或选择现有连接。

  2. 如果选择了 “新建连接”,请输入 BigQuery 数据库的连接详细信息。

    连接设置 Description
    服务帐户电子邮件 如果你有预先存在的服务帐户:可以通过转到 Google BigQuery 控制台中的 服务帐户 来查找服务帐户电子邮件和现有密钥。 如果没有预先存在的服务帐户:请转到 Google BigQuery 控制台中的“服务帐户”,然后选择“ 创建服务帐户”。 输入服务帐户名称(服务帐户 ID 根据输入的服务帐户名自动生成),以及服务帐户说明。 选择“完成”。 将服务帐户电子邮件复制并粘贴到 Fabric 中的指定连接凭据部分。
    服务帐户 JSON 密钥文件内容 在“服务帐户”仪表板中,为新建的服务帐户选择 “操作”。 选择“ 管理密钥”。 如果每个服务帐户已有密钥,请下载其 JSON 密钥文件内容。

    如果还没有服务帐户的密钥,请选择 “添加密钥 ”和 “创建新密钥”。 然后选择 JSON。 JSON 密钥文件应自动下载。 将 JSON 密钥复制并粘贴到 Fabric 门户中的指定连接凭据部分。
    连接 创建新连接。
    连接名称 应自动填写。将其更改为要使用的名称。
  3. 从下拉列表中选择数据库。

启动镜像过程

  1. “配置镜像”屏幕允许你镜像数据库中的所有数据,这是默认选项。

    • 镜像所有数据意味着,镜像启动后创建的任何新表都会被镜像。

    • 也可选择只镜像某些对象。 禁用“镜像所有数据”选项,然后从数据库中选择单独的表。

    对于此示例,我们使用 镜像所有数据 选项。

  2. 选择“镜像数据库”。 镜像过程开始。

  3. 等待 2-5 分钟。 然后,选择“监视复制”以查看状态。

  4. 几分钟后,状态应变为“正在运行”,这表明正在同步表。

    如果未看到表和相应的复制状态,请等待几秒钟,然后刷新面板。

  5. 完成表的初始复制后,“上次刷新”列中会显示一个日期。

  6. 现在,你的数据已经正常运行,在整个 Fabric 平台中具有各种可用的分析方案。

重要

  • Google BigQuery 的镜像在变更反映方面有大约 15 分钟的延迟。 这是 Google BigQuery 更改历史记录功能的限制。
  • 必须在 Microsoft Fabric 的镜像数据库中重新配置在源数据库中建立的任何精细安全性设置。

监视网络架构镜像

配置镜像后,将定向到“镜像状态”页。 可以在此处监视复制的当前状态。

有关复制状态的详细信息,请参阅监控 Fabric 镜像数据库复制

重要

如果 BigQuery 数据库中的源表没有更新,复制引擎(支持 BigQuery 镜像更改数据的引擎)将减慢速度,每小时仅复制一次表。 如果初始加载后的数据花费的时间超过预期,请不要感到惊讶,尤其是在源表中没有任何新更新时。 快照后,镜像引擎将等待大约 15 分钟,然后提取更改;这是由于 Google BigQuery 的限制,它颁布了 10 分钟的延迟,以反映任何新的更改。 详细了解 BigQuery 的更改反射延迟