排查数据沿袭问题

本文档介绍了如何解决 Dataplex Universal Catalog 数据沿袭的问题。

项目类型

数据资产可以位于不同的项目中。下表总结了可能的项目及其资产名称。

BigQuery 存储项目

此项目用于存储 BigQuery 数据资产。您可以在资产详情中找到它,作为 Table ID 的一部分,位于第一个点之前。

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

计算项目

此项目存储数据沿袭元数据。对于 BigQuery,这是您运行作业的位置。如果您使用 Google Cloud 控制台运行作业,可以在项目选择器中找到计算项目名称:

在您运行 SQL 查询的页面上,BigQuery 界面会显示一个名为 docs-compute 的计算项目。
图 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 界面显示了名为 source-001 的数据集(位于名为 docs-source 的项目中)的数据沿袭。
图 3. Google Cloud 控制台中的活跃项目。

BigQuery 数据沿袭未显示

运行 BigQuery 作业后,会出现以下问题。在这种情况下,问题可能由以下三种情况引起:

如果您在页面底部看到“由于缺少权限,未能提取沿袭”消息,则表示您缺少活跃项目的权限。否则,您缺少计算项目的权限。

一个空的沿袭图。
图 4. BigQuery 界面中未显示沿袭的示例。

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

接下来,检查是否已为活跃项目启用 Data Lineage API。

启用 Data Lineage API 后,在活跃项目和计算项目中授予 Data Lineage Viewer 角色 (roles/datalineage.viewer)。

BigQuery 进程元数据未显示

当您打开表详细信息窗格时,会出现以下问题:该窗格未显示所有详细信息,例如 SQL 语句或 Process type 属性。即使数据沿袭显示正常,也会发生这种情况。

如果您没有查看计算项目中的元数据的权限,则可能会发生这种情况。

示例:

  • BigQuery 源表:docs-source.dataset.source-001
  • BigQuery 目标表:docs-target.dataset.target-001
  • 计算项目 docs-compute 中的 docs-source.dataset.source-001docs-target.dataset.target-001 之间的数据沿袭
  • 您拥有活跃计算 docs-compute 项目的 Data Lineage Viewer 角色

点击 BigQuery 进程详细信息后, Google Cloud 控制台中会显示以下消息:

You don't have permission to view BigQuery process metadata in project X.
在 BigQuery 界面中的“沿袭”标签页上,详细信息窗格会显示错误消息。
图 5. BigQuery 界面中未显示 BigQuery 进程详细信的示例。

如需解决此问题,请在计算项目中为用户授予 bigquery.jobs.get 权限(例如 BigQuery Resource Viewer 角色具有此权限)。

BigQuery 表详细信息未显示

打开表详细信息窗格时,会出现以下问题,系统仅显示 Fully qualified name 属性。即使数据沿袭显示正常,也会发生这种情况。如果您在表的存储项目中没有所有必需的权限,则可能会发生这种情况。

示例:

  • BigQuery 表 docs-source.dataset.source-001
  • BigQuery 表 docs-target.dataset.target-001
  • 计算项目 docs-compute 中的 docs-source.dataset.source-001docs-target.dataset.target-001 之间的数据沿袭
  • 您拥有活跃计算 docs-compute 项目的 Data Lineage Viewer 角色

在这种情况下,当您点击 BigQuery 节点详细信息时,会看到消息 Entry with this fully qualified name is not available in Dataplex Universal Catalog or you do not have permissions to view it

BigQuery 表详情未显示。
图 6. BigQuery 界面中未显示 BigQuery 表详细信息的示例。

如需解决此问题,请在存储项目中授予 bigquery.tables.get 权限(例如 BigQuery Data Viewer 角色具有此权限)。