使用 Gemini Cloud Assist

本文档介绍了如何使用 Gemini Cloud Assist( Gemini for Google Cloud 产品组合中的 产品)帮助您了解和使用 BigQuery 中的 元数据、作业和查询。它提供了受支持的应用场景和示例提示,您可以在 Gemini Cloud Assist 中使用这些提示。

准备工作

在您可以使用 Gemini Cloud Assist 之前,您的管理员必须 执行以下步骤: 为您正在使用的 项目或文件夹设置 Gemini Cloud Assist

为了支持与您的 Google Cloud 资源相关的问题和请求, Gemini Cloud Assist 需要获得这些资源的适当 Identity and Access Management (IAM) 权限。当您提示 Gemini Cloud Assist 查询 BigQuery 数据时,它会继承您的权限,因此在许多情况下,必要的 IAM 权限已获授予。如需了解详情,请参阅 使用 Gemini Cloud Assist 的 IAM 要求

使用 Gemini Cloud Assist

  1. 转到 BigQuery 页面。

    转到 BigQuery

  2. 在 Google Cloud 工具栏中,点击 spark 打开或 关闭 Gemini AI 聊天,以打开 Gemini Cloud Assist 对话。

    BigQuery 工具栏中的 Gemini Cloud Assist 按钮。

  3. 输入提示 字段中,输入您的提示。

  4. 点击发送 发送

以下部分提供了您可以使用 Gemini Cloud Assist 执行的任务示例,以及示例提示。

发现资源

在一个项目或多个项目中搜索和了解数据集和表资源。Gemini Cloud Assist 使用 Knowledge Catalog 搜索您的 BigQuery 资源。搜索是使用您的权限执行的。例如,如果您没有查看资源元数据的权限,则该资源不会显示在结果中。支持的应用场景包括:

  • 按名称搜索资源 。在 Cloud Assist 面板中,输入类似于以下内容的提示:

    我是否有任何名为 ecommerce 的数据集?

  • 询问表的元数据。您可以按名称询问表,也可以让 Gemini Cloud Assist 根据您的聊天记录或您的活跃查询标签页中引用的表来推断您指的是哪个表。如果您按名称指定表,则必须使用完全限定的名称。您可以询问表的架构或其他元数据,例如分区和聚簇。在 Cloud Assist 面板中,输入类似于以下内容的提示:

    PROJECT_NAME.DATASET_NAME.TABLE_NAME 的架构是什么?

  • 询问在哪里可以找到特定信息 。在 Cloud Assist 面板中,输入类似于以下内容的提示:

    在哪里可以找到去年新用户的统计信息,例如年龄和位置?

生成代码

您可以使用 Gemini Cloud Assist 生成 SQL 和 Python 代码,以帮助您查询和分析数据。

生成 SQL

通过描述您希望查询执行的操作来生成 SQL 查询。为获得最佳结果,请添加您要查询的表的名称。例如,在 Cloud Assist 面板中,输入类似于以下内容的提示:

生成 SQL 查询,以显示 10 次最长行程的持续时间和 订阅者类型。使用 bigquery-public-data.san_francisco_bikeshare.bikeshare_trips 表。

生成 Python 代码

通过描述您希望 Python 代码执行的操作来生成 Python 代码。例如,在 Cloud Assist 面板中,您可以输入以下提示,让 Gemini 问问 Gemini 使用 BigQuery 魔法命令语法查询公共数据集中的 penguins 表:

生成 Python 代码,以使用 BigQuery 魔法命令查询 bigquery-public-data.ml_datasets.penguins表。

安排查询

通过在提示中提供以下详细信息来安排查询:

  • 时间表,例如每周一下午 5 点或每隔一个周二凌晨 2 点
  • 显示名称
  • 目标表 ID 和目标数据集 ID
  • 开始时间
  • 结束时间
  • 写入处置方式,例如 WRITE_EMPTYWRITE_APPENDWRITE_TRUNCATE

例如,在 Cloud Assist 面板中,您可以输入类似于以下内容的提示:

Schedule the query open in the editor to run daily. The display name
should be "test query". Write the results to a new table in mydataset
called scheduled_results. Use WRITE_APPEND. Start it now.

跟踪数据沿袭

您可以使用 Gemini Cloud Assist 探索和分析数据沿袭。它可以帮助您了解数据依赖项、评估结构更改的影响,并总结复杂的数据流。如需分析沿袭,您可以问问 Gemini Cloud Assist 以下功能领域的问题:

  • 获取沿袭统计信息 。问问 Gemini Cloud Assist,获取有关沿袭图的定量数据,例如所涉及的资产、数据集或项目的总数。在 Cloud Assist 面板中,输入类似于以下内容的提示:

    • Customer_Master 有多少个上游资源?
    • Customer_Interaction_Summary 的上游沿袭涉及多少个 BigQuery 数据集?
    • 提供 Marketing_Interaction 上游图中的所有唯一资源的计数。
  • 分析直接依赖项 。通过分析单跳关系,确定特定资源的直接父级(来源)或直接子级(使用者)。在 Cloud Assist 面板中,输入类似于以下内容的提示:

    • Customer_Master 的直接来源是什么?
    • Card_Master 表的直接使用者是什么?
    • Web_Session_Validated 的直接来源是什么?
  • 评估下游影响 。了解修改或删除资源的下游后果。您可以按深度(跳数)或特定项目边界来限定这些提示的范围。在 Cloud Assist 面板中,输入类似于以下内容的提示:

    • 如果我删除 Customer_Master,哪些资源会受到影响?
    • 显示 Customer_Master 下游 2 跳内的资源。
    • 更改 Customer_Master 是否会影响“data-lineage-manual-tests”项目中的任何资源?
  • 确定根来源和最终目标 。查找数据的最终来源或终端目标,绕过中间转换步骤。在 Cloud Assist 面板中,输入类似于以下内容的提示:

    • Customer_Master 的所有最终数据来源是什么?
    • Transaction_Data_Enriched 的原始数据来源是什么(不包括中间表)?
    • Card_Data_Validated 的最终数据目标是什么?
  • 跟踪资源之间的数据传输。问问 Gemini Cloud Assist,解释两个已知资源之间的具体连接、路径或数据传输。在 Cloud Assist 面板中,输入类似于以下内容的提示:

    • Customer_Master 如何依赖于 Customer_Data_Raw?
    • 数据传输如何从 Customer_Data_Raw 流向 Customer_Profile_Snapshot?
    • Customer_Data_Raw 和 Alert_Fact 之间有多少跳?
  • 按资源类型或名称过滤沿袭 。搜索特定类型的连接资源(例如 BigQuery 视图或 Looker 信息中心)或与特定命名模式匹配的资源。在 Cloud Assist 面板中,输入类似于以下内容的提示:

    • Customer_Master 是否在任何 BigQuery 视图中使用?
    • Customer_Master 的下游是否有任何 Looker 信息中心?
    • Customer_Master 的哪些上游表的名称中包含“Country”?
  • 总结沿袭图 。请求资源的沿袭的自然语言概览,而不是特定列表或计数。在 Cloud Assist 面板中,输入类似于以下内容的提示:

    • 给我一个依赖于 Web_Session_Validated 的资源的摘要。
    • 总结此表的下游沿袭。
    • bigquery:PROJECT_NAME.DATASET_NAME 的沿袭是什么?

分析作业

详细了解在您的项目中执行的作业,包括您的个人作业历史记录和项目作业历史记录,以支持以下应用场景:

  • 调试长时间运行的查询 。了解作业的当前状态以及作业运行时间可能超出预期的原因,例如槽争用、扫描的行数过多、数据量过大等。在 Cloud Assist 面板中,输入类似于以下内容的提示:

    此作业为何运行时间如此之长?JOB_ID

  • 分析作业失败的原因 。了解特定查询失败的原因。在 Cloud Assist 面板中,输入类似于以下内容的提示:

    JOB_ID 为何失败?

  • 查找资源密集型查询 。根据估计的处理字节数,了解费用最高的查询。在 Cloud Assist 面板中,输入类似于以下内容的提示:

    过去 2 天内我运行的费用最高的 3 个查询是什么?

管理 BigQuery

在作业浏览器中,您可以与 Gemini Cloud Assist 聊天,以监控性能、分析容量和优化费用。例如,您可以使用 Gemini Cloud Assist 执行以下任务:

  • 分析预留和容量 。使用自然语言监控计算利用率并找出瓶颈。在 Cloud Assist 面板中,您可以输入类似于以下内容的提示:

    • 分析我过去 24 小时的预留性能。
    • 显示使用我的“生产”预留的前几个项目和用户。
    • 我当前的容量是否足以应对我们的峰值负载?
  • 监控和比较作业 。比较工作负载以了解性能变化。您可以获取作业性能摘要,其中突出显示了瓶颈和优化机会,也可以直接比较不同作业的执行详细信息,以找出回归或改进。

  • 工作负载管理配置 。使用自然语言检查和管理 BigQuery 预留设置,包括分配和承诺。此功能可让您了解自动扩缩配置、空闲槽管理和版本专用详细信息。 在 Cloud Assist 面板中,您可以输入类似于以下内容的提示:

    • 列出我的具有自动扩缩功能的预留。
    • 获取 PROJECT_ID 的分配。
    • 我的预留 RESERVATION_NAME 的配置是什么?
    • 列出我的承诺。
    • 有多少个预留配置了忽略空闲槽?
    • 按版本 Enterprise 列出所有预留。
    • 列出所有当前预留,并显示每个预留的 slot_capacity 和 autoscale_max_slots。
  • 识别顶级资源 。识别 BigQuery 资源的主要使用者。助理可以根据特定项目或预留中的槽利用率,显示顶级用户和作业。 此助理可为关键 BigQuery 资源(包括作业、用户、项目和预留)提供全面的管理支持。通过分析槽使用情况和作业时长等关键性能指标,助理可以提供切实可行的洞见,以简化监控和优化资源分配。在 Cloud Assist 面板中,您可以输入类似于以下内容的提示:

    • 我的项目中槽使用量最多的顶级用户有哪些?
    • 显示过去一小时内预留 RESERVATION_NAME 中使用最多槽的顶级作业。

优化查询

使用 Gemini Cloud Assist 分析 SQL 查询并接收优化建议。Gemini Cloud Assist 会分析您的查询结构,并建议改进措施,以尽可能缩短查询槽时间。您可以使用以下任一方法优化查询:

  • 点击查询编辑器中的优化 。此按钮仅在使用 BigQuery 版本时可用。

    1. 转到 BigQuery 页面。

      转到 BigQuery

    2. 在查询编辑器中,输入 SQL 查询并运行。

    3. 在查询编辑器工具栏中,点击优化 。 Gemini Cloud Assist 会分析执行的查询,并在 Cloud Assist 面板中显示建议。

  • 使用 Cloud Assist 面板。您可以打开活跃标签页中的查询,也可以直接将 SQL 代码粘贴到 Cloud Assist 面板中,然后请求优化。无论您使用的是容量定价(BigQuery 版本)还是按需定价,所有客户都可以使用此功能。

后续步骤