使用结构化数据的数据洞见

本文档介绍了如何为结构化数据生成、查看和管理数据洞见。借助 AI 赋能的数据分析洞见,您可以根据表和数据集元数据自动生成说明、关系图和 SQL 查询,从而加快数据探索速度。

在 BigQuery Studio 中,您可以为 BigQuery 数据集、表、视图、 Google Cloud Lakehouse 表和 BigQuery 外部表生成数据分析。

在 Knowledge Catalog 中,您可以为 Lakehouse Iceberg REST 目录表生成数据洞见。

准备工作

在使用数据分析之前,请确保您已完成以下前提条件:

所需的角色

如需获得使用数据分析所需的权限,请让您的管理员为您授予以下 IAM 角色:

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

这些预定义角色包含使用数据洞见所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

使用数据洞见需要以下权限:

  • 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) 获得此权限。了解如何授予角色

启用 API

如需详细了解如何启用 Gemini for Google Cloud API,请参阅在 Google Cloud 项目中启用 Gemini for Google Cloud API

准备数据

对于 Google Cloud Lakehouse 表,请确保您的数据位于 Cloud Storage 中,并且您已创建 Google Cloud Lakehouse 表。

对于 Iceberg REST Catalog 表,请确保您的表已在 Lakehouse 运行时目录中注册。

在 BigQuery 中生成数据洞见

BigQuery 数据集、表、视图、Google Cloud Lakehouse 表和 BigQuery 外部表的数据分析洞见是使用 Gemini in BigQuery 生成的,并且只能在 BigQuery Studio 中生成。

您必须先设置 Gemini in BigQuery,然后才能生成分析洞见。生成分析洞见后,您可以在 Knowledge Catalog 中查看和修改这些洞见。

如需详细了解如何在 BigQuery 中生成分析洞见,请参阅以下文档:

为 Iceberg REST Catalog 表生成数据分析

  1. 在 Google Cloud 控制台中,前往 Knowledge Catalog 搜索页面。

    转到搜索

  2. 过滤条件中,选择 Lakehouse

  3. 选择要为其生成数据分析的 Iceberg REST Catalog 表。

  4. 点击数据分析标签页。如果该标签页为空,则表示此表的数据分析尚未生成。

  5. 如需生成数据分析并将它们永久附加到表中作为方面,请点击生成并发布。这样一来,知识目录中的其他用户就可以对分析进行索引、搜索和查看。

    如需生成数据分析并在当前会话期间临时查看,请点击生成但不发布。如果您只需要快速分析数据,而无需将元数据保存到 Knowledge Catalog,请使用此选项。

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

  6. 选择一个区域以生成分析洞见,然后点击生成

    数据洞察需要几分钟才能填充完毕。

  7. 点击数据分析标签页,然后查看以下内容:

    • 说明:这些是由 AI 生成的摘要,用于说明表的用途并详细介绍特定列。
    • 示例查询:这是专门针对您的数据集架构和内容量身定制的 SQL 查询列表。
  8. 如需查看用于回答问题的 SQL 查询,请点击相应问题。

查看为资源生成的分析洞见

如需查看为资源生成的分析洞见,请完成以下步骤:

  1. 在 Google Cloud 控制台中,前往 Knowledge Catalog 搜索页面。

    转到搜索

  2. 搜索要查看数据洞见的资源。

  3. 在搜索结果中,点击相应资源以打开其条目详情页面。

  4. 查看为所选资源生成的说明查询

  5. 如需查看关系图以了解数据点之间的关联,请点击关系(预览版)标签页。您只能在表级层查看关系,而不能在数据集级层查看。

管理表格数据分析

生成并发布表格分析洞见后,您可以在 Knowledge Catalog 中以元数据方面的形式查看和管理这些洞见。表级数据洞见包括表和列说明,以及示例查询。

更新表的生成的说明

您只能使用 Dataplex API 更新表和列说明。 为此,请使用 entries.patch 方法。

更新表的生成查询

您可以使用 Google Cloud 控制台和 Dataplex API 更新表的生成查询。

控制台

  1. 搜索要更新生成的查询的表

  2. 在搜索结果中,点击相应表格以打开其条目详情页面。

  3. 查询部分,点击修改

  4. 根据需要更新查询说明。

  5. 管理所有权:默认情况下,来源设置为代理。如果您修改了查询并将来源更改为 User,后续的分析信息生成运行不会覆盖您的更改。如果来源仍为智能体,则查询可能会在重新生成期间被替换。

  6. 管理替换:如需防止在重新运行期间替换所有查询,您可以将用户管理选项设置为 True。这适用于该元数据方面的整个查询集,确保不会丢失任何手动更改。

REST

如需更新表的查询,请使用 entries.patch 方法。

更新表的生成的关系

您只能使用 Dataplex API 更新关系。为此,请使用 entries.patch 方法。

管理数据集分析洞见

数据集级分析洞见侧重于概要性描述和数据集范围的查询。

更新数据集的生成说明

您只能使用 Dataplex API 更新数据集说明。 为此,请使用 entries.patch 方法。

更新数据集的生成查询

您可以使用 Google Cloud 控制台和 Dataplex API 更新数据集的生成查询。

控制台

  1. 搜索要更新生成的查询的数据集。

  2. 在搜索结果中,点击相应数据集以打开其条目详情页面。

  3. 查询部分,点击修改

  4. 根据需要更新说明。

  5. 管理所有权:默认情况下,来源设置为代理。如果您修改了查询并将来源更改为 User,后续的分析信息生成运行不会覆盖您的更改。如果来源仍为智能体,则查询可能会在重新生成期间被替换。

  6. 管理替换:如需防止在重新运行期间替换所有查询,您可以将用户管理选项设置为 True。这适用于该元数据方面的整个查询集,确保不会丢失任何手动更改。

REST

如需更新数据集的查询,请使用 entries.patch 方法。

更新数据集的生成条目链接

数据洞见发现的关系会存储为表条目之间的条目链接。这些链接包含一个 schema-join 方面,用于描述表的连接方式。

如需修改这些关系或提供手动替换项,您必须使用 Dataplex API。

条目链接更新行为

使用 API 管理关系时,请务必了解手动 API 更新如何与自动后台扫描互动,以免意外覆盖数据。

  • 手动更新(API 级行为):UpdateEntryLink API 使用 PATCH 方法执行方面级替换:

    • 完全替换方面:如果您在更新请求中添加了 schema-join 方面,Knowledge Catalog 会使用您提供的新方面替换整个现有方面。

    • 不自动合并:该 API 不会自动将新条目合并到内部 joins 列表中。如果您提交的载荷仅包含一个联接,则该方面中之前存在的所有联接都会被移除。

  • 自动扫描(系统级行为):自动扫描(例如数据分析洞见)在调用 API 之前会执行专门的合并逻辑,以确保根据元数据的来源保留高确定性元数据:

    • 来源优先级:如果多个来源识别出同一关系,Knowledge Catalog 会按以下顺序确定其优先级:

      1. USER(手动修改)
      2. TABLE_CONSTRAINTS
      3. QUERY_HISTORY
      4. AGENT(LLM 建议)
    • LLM 新鲜度:从 AGENT 来源派生的关系是动态的。如果后续扫描不再推荐该关系,则会移除该关系。

更新条目链接

如需查看和修改条目链接,请完成以下步骤:

  1. 确定入口链接。

    在更新关系之前,请通过列出涉及特定表格条目的所有条目链接来查找其资源名称:

    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
  2. 更新条目链接。

    如需修改目标条目链接的 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:目标表中用于联接的列名称

后续步骤