本文档介绍了如何为结构化数据生成、查看和管理数据分析洞见。借助 AI 赋能的数据分析洞见,您可以根据表和数据集元数据自动生成说明、关系图和 SQL 查询,从而加快数据探索速度。
在 BigQuery Studio 中,您可以为 BigQuery 数据集、表、视图、 Google Cloud Lakehouse 表、 和 BigQuery 外部表生成数据分析洞见。
在 Knowledge Catalog 中,您可以为 Lakehouse Iceberg REST 目录表生成数据分析洞见。
准备工作
在使用数据分析洞见之前,请确保您已完成以下前提条件:
所需角色
如需获得使用数据分析洞见所需的权限,请让您的管理员向您授予以下 IAM 角色:
-
获取对生成的数据分析洞见的只读访问权限:
Dataplex DataScan DataViewer (
roles/dataplex.dataScanDataViewer) 针对包含资源的项目的 -
读取 Iceberg REST 目录表数据:
BigLake Viewer (
roles/biglake.viewer) 针对资源的 -
将说明发布为切面:
Dataplex Catalog Editor (
roles/dataplex.catalogEditor) 针对资源的 -
将查询发布为切面:
Dataplex Entry and EntryLink Owner (
roles/dataplex.entryOwner) 针对资源的
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
这些预定义角色包含 使用数据分析洞见所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
使用数据分析洞见需要以下权限:
-
dataplex.datascans.create -
dataplex.datascans.get -
dataplex.datascans.getData -
dataplex.datascans.run
启用 API
如需使用数据分析洞见,请在项目中启用以下 API:
- Dataplex API
- BigQuery API
- Gemini for Google Cloud API
启用 API 所需的角色
如需启用 API,您需要拥有 Service Usage Admin IAM 角色 (roles/serviceusage.serviceUsageAdmin),该角色包含 serviceusage.services.enable 权限。了解如何授予
角色。
如需详细了解如何启用 Gemini for Google Cloud API,请参阅 在项目中启用 Gemini for Google Cloud API Google Cloud 。
准备数据
对于 Google Cloud Lakehouse 表,请确保您的数据位于 Cloud Storage 中,并且您已创建 Google Cloud Lakehouse 表。
对于 Iceberg REST 目录表,请确保您的表已在 Lakehouse 运行时目录中注册。
在 BigQuery 中生成数据分析洞见
BigQuery 数据集、表、视图、 Google Cloud Lakehouse 表和 BigQuery 外部表的数据分析洞见是使用 Gemini in BigQuery 生成的,并且只能在 BigQuery Studio 中生成。
您必须先 设置 Gemini in BigQuery, 然后才能生成数据分析洞见。生成数据分析洞见后,您可以在 Knowledge Catalog 中查看和修改这些洞见。
如需详细了解如何在 BigQuery 中生成数据分析洞见,请参阅以下文档:
为 Iceberg REST 目录表生成数据分析洞见
在 Google Cloud 控制台中,前往 Knowledge Catalog 搜索 页面。
在过滤条件 中,选择 Lakehouse 。
选择要为其生成数据分析洞见的 Iceberg REST 目录表。
点击数据分析 标签页。如果该标签页为空,则表示此表的数据分析洞见尚未生成。
如需生成数据分析洞见并将其永久附加到表中作为切面,请点击生成并发布 。这样,数据分析洞见就可以在 Knowledge Catalog 中被组织内的其他用户编入索引、搜索和查看。
如需生成分析洞见并在当前会话期间临时查看这些洞见,请点击生成但不发布。如果您只需要快速分析数据,而无需将元数据保存到 Knowledge Catalog,请使用此选项。
如需详细了解 生成并发布 模式与 生成但不发布 模式之间的区别,请参阅 生成数据分析洞见的模式。
选择区域以生成数据分析洞见,然后点击生成 。
数据分析洞见需要几分钟才能填充完毕。
点击数据分析 标签页,然后查看以下内容:
- 说明:这些是 AI 生成的摘要,用于说明表的 用途并详细介绍特定列。
- 示例查询:这是专门为您的数据集架构和内容设计的 自定义 SQL 查询列表。
如需查看用于回答问题的 SQL 查询,请点击相应问题。
查看为资源生成的数据分析洞见
如需查看为资源生成的数据分析洞见,请完成以下步骤:
在 Google Cloud 控制台中,前往 Knowledge Catalog 搜索 页面。
在搜索结果中,点击该资源以打开其条目详情页面。
查看为所选资源生成的说明 和查询 。
如需查看关系图以了解数据点之间的连接方式,请点击关系(预览版) 标签页。您只能在表级查看关系,而不能在数据集级查看。
管理表数据分析洞见
生成并发布表数据分析洞见后,您可以在 Knowledge Catalog 中以元数据切面的形式查看和管理这些洞见。表级数据分析洞见包括表和列说明以及示例查询。
更新为表生成的说明
您只能使用 Dataplex API 更新表和列说明。 为此,请使用 entries.patch 方法。
更新为表生成的查询
您可以使用 Google Cloud 控制台 和 Dataplex API 更新为表生成的查询。
控制台
在搜索结果中,点击该表以打开其条目详情页面。
在查询 部分中,点击 修改。
根据需要更新查询说明。
管理所有权:默认情况下,来源 设置为 Agent 。如果您 修改查询并将来源更改为 User,则后续的数据分析洞见 生成运行不会覆盖您的更改。如果来源仍为 Agent,则查询可能会在重新生成期间被替换。
管理替换:如需防止所有查询在重新运行期间被替换,您可以将用户管理 选项设置为 True 。这适用于该元数据切面的整个查询集,确保不会丢失任何手动更改。
REST
如需更新表的查询,请使用 entries.patch 方法。
更新为表生成的关系
您只能使用 Dataplex API 更新关系。为此,请使用 entries.patch 方法。
管理数据集数据分析洞见
数据集级数据分析洞见侧重于概要说明和数据集范围的查询。
更新为数据集生成的说明
您只能使用 Dataplex API 更新数据集说明。 为此,请使用 entries.patch 方法。
更新为数据集生成的查询
您可以使用 Google Cloud 控制台 和 Dataplex API 更新为数据集生成的查询。
控制台
搜索要为其更新生成的查询的数据集 。
在搜索结果中,点击该数据集以打开其条目详情页面。
在查询 部分中,点击 修改。
根据需要更新说明。
管理所有权:默认情况下,来源 设置为 Agent 。如果您 修改查询并将来源更改为 User,则后续的数据分析洞见 生成运行不会覆盖您的更改。如果来源仍为 Agent,则查询可能会在重新生成期间被替换。
管理替换:如需防止所有查询在重新运行期间被替换,您可以将用户管理 选项设置为 True 。这适用于该元数据切面的整个查询集,确保不会丢失任何手动更改。
REST
如需更新数据集的查询,请使用 entries.patch 方法。
更新为数据集生成的条目链接
数据分析洞见发现的关系会存储为
条目链接表条目之间的条目链接。
这些链接包含一个 schema-join 切面,用于描述表的连接方式。
如需修改这些关系或提供手动替换,您必须使用 Dataplex API。
条目链接更新行为
使用 API 管理关系时,务必了解手动 API 更新如何与自动后台扫描互动,以免意外覆盖数据。
手动更新(API 级行为):
UpdateEntryLinkAPI 使用PATCH方法执行切面级替换:完全替换切面:如果您在更新请求中添加
schema-join切面,Knowledge Catalog 会将整个现有切面替换为您提供的新切面。不自动合并:API 不会自动将新条目合并到内部
joins列表中。如果您提交的载荷仅包含一个联接,则该切面中所有先前存在的联接都会被移除。
自动扫描(系统级行为):自动扫描(例如数据分析洞见)会在调用 API 之前执行专门的合并逻辑,以确保根据元数据的来源保留高确定性的元数据:
来源优先级:如果多个来源识别出同一关系,Knowledge Catalog 会按以下顺序确定其优先级:
USER(手动修改)TABLE_CONSTRAINTSQUERY_HISTORYAGENT(LLM 建议)
LLM 新鲜度:从
AGENT来源派生的关系是动态的。如果后续扫描不再推荐该关系,则会将其移除。
更新条目链接
如需查看和修改条目链接,请完成以下步骤:
确定条目链接。
在更新关系之前,请列出涉及特定表条目的所有条目链接,以查找其资源名称:
gcurl -X GET "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entryGroups/@bigquery/entryLinks?filter=entry_references.name=\"TABLE_ENTRY_NAME\""替换以下内容:
- PROJECT_ID:您的 Google Cloud 项目 ID
- LOCATION:触发数据扫描的区域
- TABLE_ENTRY_NAME:BigQuery 表条目的完整资源名称(例如
bigquery.googleapis.com/projects/my-project/datasets/my_dataset/tables/my_table)
更新条目链接。
如需修改目标条目链接的
schema-join切面,请使用PATCH方法:gcurl -X PATCH "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entryGroups/@bigquery/entryLinks/ENTRYLINK_ID?aspectKeys=dataplex-types.global.schema-join" \ -d '{ "aspects": { "dataplex-types.global.schema-join": { "data": { "joins": [ { "source": { "name": "PROJECT_ID.DATASET_ID.SOURCE_TABLE", "fields": ["SOURCE_FIELD"] }, "target": { "name": "PROJECT_ID.DATASET_ID.TARGET_TABLE", "fields": ["TARGET_FIELD"] }, "type": "JOIN", "inferenceSource": "USER" } ], "userManaged": false } } } }'替换以下内容:
- ENTRYLINK_ID:在上一步识别中检索到的条目链接的 ID
- DATASET_ID:您的 BigQuery 数据集的 ID
- SOURCE_TABLE:源表的名称
- SOURCE_FIELD:在源表中用于 联接的列名称
- TARGET_TABLE:目标表的名称
- TARGET_FIELD:在目标表中用于 联接的列名称
后续步骤
详细了解结构化数据的数据分析洞见。
了解如何为非结构化数据生成数据分析洞见。