生成数据集分析洞见
数据洞见可帮助您了解 BigQuery 数据集和 Apache Iceberg 命名空间中表之间的关系,具体方法是在图表中发现和直观呈现表之间的关系,识别基于架构定义、基于使用情况或 AI 推断的关系,并生成示例跨表查询。
如需简要了解表和数据集数据洞见,请参阅数据洞见概览。
生成数据集分析洞见的模式
在生成数据集数据分析时,BigQuery 提供两种模式:
| 模式 | 说明 | 用法 |
|---|---|---|
| 生成并发布 |
将生成的数据集分析洞见作为元数据切面和关系持久保存到 Knowledge Catalog 中。您必须拥有必要的权限才能发布。使用生成并发布时,BigQuery 会执行以下操作:
|
对于持久且可重复使用的企业级数据文档,或者在构建目录驱动的治理工作流时,请使用此模式。 |
| 生成但不发布 |
按需创建数据集分析洞见,例如说明、自然语言问题、关系和 SQL 查询。 生成但不发布不会将分析洞见发布到 Knowledge Catalog。 |
使用此模式可进行快速、临时的探索,避免目录杂乱。 |
准备工作
数据洞见是使用 Gemini in BigQuery 生成的。如需开始生成数据洞察,您必须先设置 Gemini in BigQuery。
启用 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。
完成数据分析扫描
如需提高数据分析洞见的质量,请为数据集中的表生成数据分析扫描。
所需的角色
如需获得生成、管理和检索数据集分析洞见所需的权限,请让您的管理员为您授予以下 IAM 角色:
-
如需生成、管理和检索数据分析,请执行以下操作:
- 针对项目的 Dataplex DataScan Editor (
roles/dataplex.dataScanEditor) 或 Dataplex DataScan Administrator (roles/dataplex.dataScanAdmin) - 针对表的 BigQuery Data Editor (
roles/bigquery.dataEditor) 角色 - 针对项目的 BigQuery User (
roles/bigquery.user) 或 BigQuery Studio User (roles/bigquery.studioUser) - 项目的 BigQuery Resource Viewer (
roles/bigquery.resourceViewer) 角色
- 针对项目的 Dataplex DataScan Editor (
-
如需查看数据分析,请执行以下操作:
- 针对项目的 Dataplex DataScan DataViewer (
roles/dataplex.dataScanDataViewer) - 针对数据集的 BigQuery Data Viewer (
roles/bigquery.dataViewer)
- 针对项目的 Dataplex DataScan DataViewer (
-
如需将分析洞见发布到 Knowledge Catalog,请执行以下操作:针对条目组的 Dataplex Entry and EntryLink Owner (
roles/dataplex.entryOwner)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
如需查看生成数据洞察所需的确切权限,请展开所需权限部分:
所需权限
bigquery.datasets.get:读取数据集元数据bigquery.jobs.create:创建作业bigquery.jobs.listAll:列出项目中的所有作业bigquery.tables.get:获取表元数据bigquery.tables.getData:获取表数据和元数据dataplex.datascans.create:创建数据扫描资源dataplex.datascans.get:读取数据扫描资源元数据dataplex.datascans.getData:读取数据扫描执行结果dataplex.datascans.run:运行按需数据扫描dataplex.entryGroups.useSchemaJoinEntryLink:使用schema-join条目链接dataplex.entryGroups.useSchemaJoinAspect:使用架构联接切面dataplex.entryLinks.create:创建条目链接dataplex.entryLinks.update:更新条目链接dataplex.entryLinks.delete:删除条目链接dataplex.entries.link:链接条目dataplex.entries.update:更新条目dataplex.entryGroups.useDescriptionsAspect:使用说明切面dataplex.entryGroups.useQueriesAspect:使用查询切面
生成数据集分析洞见
控制台
在 Google Cloud 控制台中,前往 BigQuery Studio。
在探索器窗格中,选择要为其生成数据分析的项目和数据集。对于 Iceberg 命名空间,选择代表您的目录命名空间的数据集。
点击数据分析标签页。
如需生成分析洞见并将其发布到 Knowledge Catalog,请点击生成并发布。
如需生成分析洞见而不将其发布到 Knowledge Catalog,请点击生成但不发布。
如需详细了解生成并发布模式与生成但不发布模式之间的区别,请参阅生成数据集分析洞见的模式。
如果您的数据集位于多区域位置,系统可能会提示您选择一个区域来生成分析洞见。选择与该多区域位置相对应的区域,在其中创建分析洞见扫描。
数据洞察需要几分钟才能填充完毕。如果数据集中的表具有数据分析结果,则分析洞见的质量会提高。
生成数据分析洞见后,BigQuery 会显示数据集说明、关系图、关系表和示例跨表查询。
REST
如需以编程方式生成数据分析,请使用 Knowledge Catalog DataScans API。为此,请完成以下步骤:
为 BigQuery 数据集生成数据文档数据扫描
使用
dataScans.create方法创建数据文档数据扫描。(可选)您可以通过将catalog_publishing_enabled参数设置为true,将这些数据分析发布到 Knowledge Catalog。例如:
alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"' gcurl -X POST \ https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/\ dataScans?dataScanId=DATASCAN_ID \ -d '{ "data": { "resource": "//bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID" }, "executionSpec": { "trigger": { "onDemand": {} } }, "type": "DATA_DOCUMENTATION", "dataDocumentationSpec": { "catalog_publishing_enabled": true } }'替换以下内容:
- PROJECT_ID:数据集所在的 Google Cloud项目的 ID
- LOCATION:数据扫描运行所在的区域
- DATASCAN_ID:您为此扫描提供的唯一名称
- DATASET_ID:正在扫描的 BigQuery 数据集的 ID
使用
dataScans.run方法启动数据文档扫描作业。例如:
gcurl -X POST \ https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/\ dataScans/DATASCAN_ID:run此请求会返回一个唯一的任务 ID 以及初始状态。
查看数据文档扫描状态
使用 dataScans.get 方法检查扫描作业运行是否完成。如需检索完整结果(包括数据分析和发布状态),请将 view 参数设置为 FULL。
使用任务 ID 获取作业的状态。例如:
gcurl -X GET https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataScans/DATASCAN_ID/jobs/JOB_ID?view=FULL
当状态为 SUCCEEDED 或 FAILURE 时,作业即完成。
成功的作业响应会在 dataDocumentationResult 字段中包含生成的分析洞见。
验证是否已发布到 Knowledge Catalog
如果 catalog_publishing_enabled 设置为 true,则在数据扫描作业完成后,数据分析会异步发布到 Knowledge Catalog。如需验证数据分析是否已保留,请使用 Dataplex API 检查数据集的切面。
虽然数据分析是根据数据集级数据扫描生成的,但生成的条目链接会存储在它们连接的表之间。如需验证这些关系,请使用 lookupEntryLinks 方法检索与特定表条目关联的条目链接。
如需检索 BigQuery 数据集的元数据,请使用 entries.get 方法。如需包含所有方面,请将 view 参数设置为 FULL。例如:
gcurl -X GET https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entryGroups/@bigquery/entries/bigquery.googleapis.com/projects/DATASET_PROJECT_ID/datasets/DATASET_ID?view=FULL
替换以下内容:
- PROJECT_ID:配置了数据扫描的 Google Cloud项目的 ID
- LOCATION:条目组所在的区域
- DATASET_PROJECT_ID:BigQuery 数据集所在的 Google Cloud项目的 ID
- DATASET:BigQuery 数据集的 ID
如果成功发布到 Knowledge Catalog,则以下方面会附加到 BigQuery 数据集:
- Descriptions:包含 AI 生成的数据集说明
- 查询:包含与数据集相关的 SQL 查询
- 关系:作为数据集中存在的表之间的条目链接保留
查看并保存数据集说明
Gemini 会生成数据集的自然语言描述,总结其包含的表类型及其代表的业务领域。如需将此说明保存到数据集的元数据中,请点击保存到详细信息。
您可以在保存详细信息之前修改说明。
探索关系图
关系图表直观地展示了数据集中的表之间的关系。它将连接最多的前 10 个表显示为节点,并用线条表示它们之间的关系。
- 如需查看关系详细信息(例如联接两个表的列),请将鼠标悬停在连接表节点的边缘上。
- 如需重新排列图表以提高可见性,请拖动表节点。
使用关系表
关系表以表格格式列出发现的关系。每一行都表示两个表之间的关系,显示源表和列以及目标表和列。来源列指明了关系的确定方式:
- LLM 推断。Gemini 根据整个数据集中的表和列名称及说明推断出的关系。
- 基于用量。基于频繁联接从查询日志中提取的关系。
- 架构定义。关系派生自表架构中的现有主键和外键映射。
您可以过滤特定表的关系,也可以就检测到的关系的质量提供反馈。如需将生成的数据集说明和关系导出到 JSON 文件,请点击导出为 JSON 格式。
使用查询建议
Gemini 会根据发现的关系生成示例查询。这些是自然语言问题,以及用于联接数据集中的多个表的相应 SQL 查询。
如需查看 SQL 查询,请点击相应问题。
如需在 BigQuery 查询编辑器中打开查询,请点击复制到查询。然后,您可以运行或修改查询。
如需提出后续问题,请点击提出后续问题,这会打开一个无标题的数据画布,您可以在其中与 Gemini 对话,以探索数据。
管理生成的分析洞见
为数据集生成分析洞见后,您可以在 Knowledge Catalog 中管理、更新或删除这些分析洞见。如需了解详情,请参阅管理数据集数据分析。
后续步骤
- 了解数据洞察概览。
- 了解如何生成表数据分析。
- 详细了解 Knowledge Catalog 数据分析。