生成数据集分析洞见

本文档介绍了如何为 BigQuery 数据集生成数据集洞见。数据集洞见通过生成关系图和跨表查询,帮助您了解数据集内各个表之间的关系。

数据集洞见可自动发现并直观呈现图表中的表关系,识别主键和外键关系,并生成跨表查询示例,从而帮助您加快探索包含多个表的数据集。这有助于在没有文档的情况下了解数据结构,发现表之间由架构定义、基于使用情况或由 AI 推断的关系,以及生成连接多个表的复杂查询。

如需了解表和数据集分析洞见,请参阅数据分析洞见概览

生成数据集分析洞见的模式

在生成数据集分析洞见时,BigQuery 提供两种模式:

模式 说明 用法
生成并发布

将生成的数据集分析洞见作为元数据切面和关系持久保存到 Knowledge Catalog 中。您必须拥有发布所需的权限。如果您使用生成并发布,BigQuery 会执行以下操作:

  • 将数据集说明存储在 Knowledge Catalog 中。
  • 将建议的查询和问题捕获为可重用的方面。
  • 在 Knowledge Catalog 中以元数据的形式捕获关系。
  • 使发布的分析洞见可供所有具有相应 Knowledge Catalog 访问权限的用户访问,从而确保组织知识共享。
  • 让您能够使用 API 直接在 Knowledge Catalog 中修改和保存说明。您可以使用 Google Cloud 控制台修改建议的查询。

如果需要创建持久且可重用的企业级数据文档,或者需要构建目录驱动型治理工作流,请使用此模式。

生成但不发布

按需创建数据集分析洞见,例如说明、自然语言问题、关系和 SQL 查询。 生成但不发布不会将分析洞见发布到 Knowledge Catalog。

使用此模式可进行快速的临时探索,避免使目录杂乱无章。

准备工作

数据洞察是使用 Gemini in BigQuery 生成的。如需开始生成数据洞察,您必须先设置 Gemini in BigQuery

启用 API

如需使用数据分析洞见,请在项目中启用以下 API:Dataplex API、BigQuery API 和 Gemini for Google Cloud API。

启用 API 所需的角色

如需启用 API,您需要拥有 Service Usage Admin IAM 角色 (roles/serviceusage.serviceUsageAdmin),该角色包含 serviceusage.services.enable 权限。了解如何授予角色

启用 API

如需详细了解如何启用 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)
  • 如需查看数据洞见,请执行以下操作:
  • 将分析洞见发布到 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:创建 DataScan 资源
  • dataplex.datascans.get:读取 DataScan 资源元数据
  • dataplex.datascans.getData:读取 DataScan 执行结果
  • dataplex.datascans.run:按需运行 DataScan
  • 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:使用查询方面

生成数据集分析洞见

控制台

  1. 在 Google Cloud 控制台中,前往 BigQuery Studio

    进入 BigQuery Studio

  2. 探索器窗格中,选择项目,然后选择要为其生成数据洞见的数据集。

  3. 点击数据分析标签页。

  4. 如需生成分析洞见并将其发布到 Knowledge Catalog,请点击生成并发布

    如需生成分析洞见,但不将其发布到 Knowledge Catalog,请点击生成但不发布

    如需详细了解生成并发布模式与生成但不发布模式之间的区别,请参阅生成数据集分析洞见的模式

  5. 如果您的数据集位于多区域,系统可能会提示您选择一个区域来生成分析洞见。选择与要创建分析洞见扫描的多区域位置相对应的区域。

    数据洞察需要几分钟才能填充完毕。如果数据集中的表具有数据分析结果,则分析洞见的质量会提高。

生成分析洞见后,BigQuery 会显示数据集说明、关系图、关系表和示例跨表查询。

REST

如需以编程方式生成数据分析,请使用 Knowledge Catalog DataScans API。为此,请完成以下步骤:

  1. 为 BigQuery 数据集生成数据文档数据扫描
  2. 检查数据文档扫描状态
  3. 验证向 Knowledge Catalog 发布

为 BigQuery 数据集生成数据文档数据扫描

  1. 使用 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
  2. 使用 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

当状态为 SUCCEEDEDFAILURE 时,表示作业已完成。

成功的作业响应会在 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:配置 DataScan 的 Google Cloud项目的 ID
  • LOCATION:条目组所在的区域
  • DATASET_PROJECT_ID:BigQuery 数据集所在的 Google Cloud项目的 ID
  • DATASET:BigQuery 数据集的 ID

如果成功发布到 Knowledge Catalog,则以下方面会附加到 BigQuery 数据集:

  • 说明:包含 AI 生成的数据集说明
  • 查询:包含与数据集相关的 SQL 查询
  • 关系:以数据集中的表之间的条目链接形式持久存在

查看和保存数据集说明

Gemini 会生成数据集的自然语言说明,总结其中包含的表类型以及所代表的业务领域。如需将此说明保存到数据集的元数据中,请点击保存到详细信息

您可以在保存详细信息之前修改说明。

探索关系图

关系图直观地呈现了数据集中的各个表之间的关系。它会以节点的形式显示关联性最强的 10 个表,并以线条表示它们之间的关系。

  • 如需查看关系详情(例如联接两个表的列),请将鼠标悬停在连接表节点的边上。
  • 如需重新排列图表以提高可见性,请拖动表格节点。

使用关系表

关系表以表格格式列出了发现的关系。每一行都表示两个表之间的关系,显示源表和列以及目标表和列。“来源”列 (Source) 指示了关系的确定方式:

  • 由 LLM 推断。Gemini 根据数据集中的表名称、列名称和说明推断出的关系。
  • 基于使用量。根据频繁联接从查询日志中提取的关系。
  • 由架构定义。从表架构中现有的主键和外键映射派生的关系。

您可以过滤特定表的关系,也可以针对检测到的关系的质量提供反馈。如需将生成的数据集说明和关系导出到 JSON 文件,请点击导出为 JSON 格式

使用查询建议

Gemini 会根据发现的关系生成示例查询。这些是自然语言问题,附带相应的 SQL 查询,用于联接数据集中的多个表。

  1. 如需查看 SQL 查询,请点击相应问题。

  2. 如需在 BigQuery 查询编辑器中打开查询,请点击复制到查询。然后,您可以运行查询或修改查询。

  3. 如需询问后续问题,请点击询问后续问题,系统随即会打开一个未命名的数据画布,您可以在其中与 Gemini 对话,探索数据。

管理生成的分析洞见

为数据集生成分析洞见后,您可以在 Knowledge Catalog 中管理、更新或删除这些洞见。 如需了解详情,请参阅管理数据集洞见

后续步骤