本页面介绍如何解决 Data Catalog 数据沿袭的问题。
项目类型
由于数据资源可以位于不同的项目中,因此下面总结了可能的项目及其资源名称。
BigQuery 存储项目
此项目会存储您的 BigQuery 数据资源。
它位于素材资源详情中第一个点之前的 Table ID
内。
计算项目
此项目会存储数据沿袭元数据。 对于 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 数据沿袭未显示
运行 BigQuery 作业后会出现以下问题。在这种情况下,问题可能由以下三种情况引起:
- 活跃项目或计算项目中停用了 Data Lineage API。
- 您在活跃项目或compute项目中没有数据沿袭查看器 (
roles/datalineage.viewer
)。 - 数据沿袭尚未到达。显示数据沿袭可能需要 30 分钟到 24 小时,具体取决于所处理数据的数量和复杂程度。
如果您在页面底部看到“因缺少权限而未能提取沿袭。”消息,则表示您缺少对活跃项目的权限。否则,您将缺少对该计算项目的权限。
如需解决此问题,请先检查是否已为计算项目启用 Data Lineage API。启用 API 后,您需要运行作业来查看数据沿袭,具体取决于所处理数据的数量和复杂程度,显示数据沿袭可能需要 30 分钟到 24 小时。
接下来,检查活跃项目是否已启用 Data Lineage API。启用该 API 后,如果您拥有所需的权限(见下文),便会看到沿袭。
启用 Data Lineage API 后,在活跃项目和compute项目中都授予 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-001
与docs-target.dataset.target-001
之间的数据沿袭 - 您对活跃项目和compute
docs-compute
项目拥有 Data lineage Viewer 角色。
点击 BigQuery 进程详情会显示以下消息:
You don't have permission to view BigQuery process metadata in project X.
在 Google Cloud 控制台中,执行以下操作:
如需解决此问题,请在计算项目中向用户授予 bigquery.jobs.get
权限(例如,包含在 BigQuery Resource Viewer 角色中)。
BigQuery 表详细信息未显示
当您打开表详细信息窗格,该窗格仅显示“完全限定名称”属性时,会发生以下问题。即使数据沿袭正确显示,也会发生这种情况。如果您在表的存储项目中不具备所有必需的权限,就可能会发生这种情况。
示例:
- BigQuery 表
docs-source.dataset.source-001
, - BigQuery 表
docs-target.dataset.target-001
, - 使用计算项目
docs-compute
、docs-source.dataset.source-001
和docs-target.dataset.target-001
之间的数据沿袭, - 对活跃项目和compute
docs-compute
项目具有 Data lineage Viewer 角色的用户。
在这种情况下,用户点击 BigQuery 节点详细信息时,可以看到消息 Entry with this fully qualified name is not available in the Data Catalog
。
如需解决此问题,请向用户授予存储项目中的 bigquery.tables.get
权限(例如,包含在 BigQuery Data Viewer 角色中)。