AI 赋能的数据洞见可让您根据结构化表和数据集元数据自动生成说明、关系图和 SQL 查询。然后,您可以在 Knowledge Catalog(以前称为 Dataplex Universal Catalog)中查看和管理这些分析洞见,以加快数据探索速度。
准备工作
在使用数据洞见之前,请确保您已满足以下前提条件:
所需的角色
如需获得使用数据洞见所需的权限,请让您的管理员为您授予以下 IAM 角色:
-
获取对生成的分析洞见的只读权限:针对包含资源的项目的 Dataplex DataScan DataViewer (
roles/dataplex.dataScanDataViewer) 角色 -
读取 Apache Iceberg、Apache Hive 或 SAP BDC 表数据:针对资源的 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,您需要拥有 serviceusage.services.enable 权限。如果您创建了项目,则可能已经通过 Owner 角色 (roles/owner) 拥有此权限。否则,您可以通过 Service Usage Admin 角色 (roles/serviceusage.serviceUsageAdmin) 获得此权限。了解如何授予角色。
如需详细了解如何启用 Gemini for Google Cloud API,请参阅在 Google Cloud 项目中启用 Gemini for Google Cloud API。
准备数据
对于 Lakehouse 表,请确保您的数据位于 Cloud Storage 中,并且您已创建 Lakehouse 表。
对于 Apache Iceberg REST Catalog 表,请确保您的表已在 Lakehouse 运行时目录中注册。
在 BigQuery 中生成分析洞见
在 BigQuery Studio 中,您可以使用 Gemini in BigQuery 为 BigQuery 数据集、表、视图、Google Cloud BigLake 表、BigQuery 外部表和 Apache Iceberg 命名空间生成数据洞见。您只能在 BigQuery Studio 中为这些资源生成分析洞见。
您必须先设置 Gemini in BigQuery,然后才能生成分析洞见。生成分析洞见后,您可以在 Knowledge Catalog 中查看和修改。
如需详细了解如何在 BigQuery 中生成分析洞见,请参阅以下文档:
为 Apache Iceberg 表和命名空间生成数据分析
在 Knowledge Catalog 中,您可以为 Google Cloud的无边界 Lakehouse 管理的 Apache Iceberg、Apache Hive 和 SAP BDC 表和命名空间生成数据洞见。
如需为这些资源生成分析洞见,请完成以下步骤:
在 Google Cloud 控制台中,前往 Knowledge Catalog 搜索页面。
在过滤条件中,找到您的素材资源类型:
- 对于 Apache Iceberg 表:选择Lakehouse。
- 对于 Apache Iceberg 命名空间:将
system过滤条件设置为 BIGLAKE,并将type过滤条件设置为 namespace。
从搜索结果中选择 Apache Iceberg 表或命名空间,打开其条目详情页面。
点击数据分析标签页。如果该标签页为空,则表示此表的数据分析尚未生成。
选择生成选项:
如需生成数据分析并将其作为元数据方面永久附加到资产,请点击生成并发布。这样,组织中的其他用户就可以在 Knowledge Catalog 中将这些数据洞见编入索引、进行搜索和查看。
如需在当前会话期间临时生成和查看数据分析,请点击生成但不发布。
如需详细了解生成并发布模式与生成但不发布模式之间的区别,请参阅生成数据洞见的模式。
选择区域以生成分析洞见,然后点击生成。
数据洞察需要几分钟才能填充完毕。
点击数据分析标签页,然后查看生成的元数据:
- 对于表:查看 AI 生成的说明和示例查询。
- 对于命名空间:查看数据集说明、交互式关系图和查询建议。
如需查看用于回答问题的 SQL 查询,请点击相应问题。
查看为资源生成的分析洞见
如需查看为资源生成的分析洞见,请完成以下步骤:
在 Google Cloud 控制台中,前往 Knowledge Catalog 搜索页面。
在搜索结果中,点击相应资源以打开其条目详情页面。
查看为所选资源生成的说明和查询。
如需查看关系图以了解数据点之间的连接方式,请点击关系(预览版)标签页。您可以在表级层查看关系,如果您已生成数据集数据洞见,则可以在数据集和命名空间级层查看关系。
管理表数据分析
生成并发布表数据分析后,您可以在 Knowledge Catalog 中以元数据切面的形式查看和管理这些数据分析。表级分析洞见包括表和列说明以及示例查询。
更新为表生成的说明
您只能使用 Dataplex API 更新表和列说明。
为此,请使用 entries.patch 方法。
更新为表生成的查询
您可以使用 Google Cloud 控制台和 Dataplex API 更新为表生成的查询。
控制台
在搜索结果中,点击相应表以打开其条目详情页面。
在查询部分中,点击 修改。
根据需要更新查询说明。
管理所有权:默认情况下,来源设置为代理。如果您修改查询并将来源更改为用户,则后续数据分析生成运行不会覆盖您的更改。如果来源仍为代理,则查询可能会在重新生成期间被替换。
管理替换:为防止在重新运行时替换所有查询,您可以将用户管理选项设置为 True。这适用于该元数据方面的整套查询,可确保不会丢失任何手动更改。
REST
如需更新表的查询,请使用 entries.patch 方法。
更新为表生成的关系
您只能使用 Dataplex API 更新关系。为此,请使用 entries.patch 方法。
管理数据集分析洞见
数据集级数据分析侧重于简要说明和数据集级查询。
更新数据集的生成式说明
您只能使用 Dataplex API 更新数据集说明。
为此,请使用 entries.patch 方法。
更新为数据集生成的查询
您可以使用 Google Cloud 控制台和 Dataplex API 更新为数据集生成的查询。
控制台
搜索要更新生成查询的数据集。
在搜索结果中,点击相应数据集以打开其条目详情页面。
在查询部分中,点击 修改。
根据需要更新说明。
管理所有权:默认情况下,来源设置为代理。如果您修改查询并将来源更改为用户,则后续数据分析生成运行不会覆盖您的更改。如果来源仍为代理,则查询可能会在重新生成期间被替换。
管理替换:为防止在重新运行时替换所有查询,您可以将用户管理选项设置为 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:用于目标表中联接的列名称
后续步骤
详细了解结构化数据的数据洞见。
了解如何监控数据洞见 token 使用情况。