排查数据沿袭问题

本页面介绍了如何解决 Data Catalog 的问题 数据沿袭。

项目类型

由于数据资产可以位于不同的项目中,因此下面简要介绍了可能的项目及其资产名称。

BigQuery 存储项目

此项目用于存储您的 BigQuery 数据资产。您可以在素材资源详情中找到它,位于 Table ID 的第一个英文句点之前。

在 BigQuery 界面中,存储项目名称显示在
    表格 ID 字段,完全限定表格名称中的第一个点之前。
图 1. BigQuery 存储项目的名称。

计算项目

此项目用于存储数据沿袭元数据。对于 BigQuery,这是运行作业的位置。 如果您通过界面运行作业,则可以在项目选择器中找到计算项目名称:

BigQuery 界面显示了名为 docs-compute 的计算项目,
    运行 SQL 查询的页面。
图 2. 运行 BigQuery 作业的计算项目的名称。

向 BigQuery API 发送请求时,请指定计算项目 例如:

POST /bigquery/v2/projects/docs-compute/jobs HTTP/1.1
Host: bigquery.googleapis.com
User-Agent: Go-http-client/1.1
Authorization: <REDACTED 1031 BYTES>
Accept-Encoding: gzip
{
  "configuration": {
    "query": {
      "useLegacySql": false,
      "query": "CREATE OR REPLACE TABLE `docs-target.dataset.target-002` AS SELECT * FROM `docs-source.dataset.source-002`;"
    }
  },
  "jobReference": {
    "projectId": "docs-compute",
    "jobId": "docs-compute-job-id",
    "location": "us",
  }
}

活跃项目

这是您查看数据谱系所在的项目。Google Cloud 控制台会在项目选择器中显示活跃项目。 如果您使用的是 API,则活动项目就是您要在其中创建 进行 API 调用

BigQuery 界面显示了
    数据集,该数据集位于名为 docs-source 的项目中。
图 3. Google Cloud 控制台中的活跃项目。

BigQuery 数据沿袭未显示

运行 BigQuery 作业后,会出现以下问题。在这种情况下 这个问题可能是由以下三种情况导致的:

  • Data Lineage API 已在活跃项目中停用 或计算项目
  • 您没有数据沿袭查看器 (roles/datalineage.viewer) 处于活跃状态 或 compute 项目。
  • 数据沿袭尚未到达。数据源流可能需要 30 分钟(标准时间)到 24 小时才能显示,具体取决于所处理数据的量和复杂性。

如果您看到“由于缺少权限,提取沿袭失败”这条消息。 您缺少对 活跃项目。 否则,您缺少计算项目的权限。

显示空白谱系图的屏幕截图。
图 4. 谱系未显示在 BigQuery 界面中的示例。

如需解决此问题,请先检查是否为计算项目启用了 Data Lineage API。 启用该 API 后,您需要运行作业才能查看数据沿袭。根据要处理的数据量和复杂程度, 从标准 30 分钟到 24 小时,以显示数据沿袭。

接下来,检查是否为活跃项目启用了 Data Lineage API。 启用该 API 后,如果您拥有所需的权限(见下文),则会看到谱系。

启用 Data Lineage API 后, 数据沿袭查看器 (roles/datalineage.viewer) (在有效)中, 以及 compute 项目。

BigQuery 进程元数据未显示

问题描述

打开表格详情窗格时,会出现以下问题:该窗格不会显示 SQL 语句或 Process type 属性等所有详细信息。即使数据谱系正常显示,也会出现这种情况。

如果您无权查看 计算项目

示例:

  • BigQuery 源表:docs-source.dataset.source-001
  • BigQuery 目标表:docs-target.dataset.target-001
  • 计算项目 docs-computedocs-source.dataset.source-001docs-target.dataset.target-001 之间的数据沿袭
  • 您拥有数据沿袭查看器 活跃角色 和 compute docs-compute 项目。

点击 BigQuery 进程详细信息,系统会显示以下消息:

You don't have permission to view BigQuery process metadata in project X.

在 Google Cloud 控制台中:

在 BigQuery 界面的“谱系”标签页上,“详细信息”窗格会显示一条错误消息。
图 5. BigQuery 进程详情未显示在 BigQuery 界面中的示例。

如需解决此问题,请向该用户授予 bigquery.jobs.get 权限 (例如,包含在 BigQuery Resource Viewer 中) 角色)。

BigQuery 表详情未显示

当您打开表格详情窗格时,会出现以下问题:该窗格仅显示“完全限定名称”属性。即使数据谱系显示正常,也会出现这种情况。如果您没有对表的 存储项目

示例:

  • BigQuery 表 docs-source.dataset.source-001
  • BigQuery 表 docs-target.dataset.target-001
  • docs-source.dataset.source-001docs-target.dataset.target-001 之间的数据沿袭, 计算项目 docs-compute,
  • 拥有数据沿袭查看器的用户 活跃角色 和 compute docs-compute 项目。

在这种情况下,用户在点击 BigQuery 节点详情时可以看到一条消息 Entry with this fully qualified name is not available in the Data Catalog

显示空白表格面板的屏幕截图。
图 6. BigQuery 表详情未显示在 BigQuery 界面中的示例。

要解决此问题,请向该用户授予 bigquery.tables.get 权限 (例如,包含在 BigQuery Data Viewer 中) 角色)位于存储项目中。