在 BigQuery 中生成数据分析
数据洞察提供了一种自动方法来探索、理解和整理您的数据。借助数据洞察,Gemini 会根据表元数据生成自然语言问题以及用于回答这些问题的 SQL 查询。这些数据洞察可帮助您发现模式、评估数据质量和执行统计分析。
您还可以使用数据洞见功能,根据表元数据生成表和列说明(预览版)。此功能可帮助您记录数据,以便进行有意义的分析,并提高数据集的可发现性。
本页面介绍了数据分析的主要功能以及自动生成查询以进行深度数据探索的过程。
准备工作
数据洞察是使用 Gemini in BigQuery 生成的。如需开始生成数据洞察,您必须先设置 Gemini in BigQuery。
所需的角色
如需创建、管理和检索数据分析,请让您的管理员向您授予以下 IAM 角色:
针对您要生成数据分析的项目的 Dataplex DataScan Editor (
roles/dataplex.dataScanEditor
) 或 Dataplex DataScan Administrator (roles/dataplex.dataScanAdmin
) 角色。针对您要为其生成数据分析的 BigQuery 表的 BigQuery Data Viewer (
roles/bigquery.dataViewer
) 角色。针对您要为其生成数据洞察的 BigQuery 表的 BigQuery Data Viewer (
roles/bigquery.dataEditor
) 角色。针对您要在其中生成数据洞察的项目的 BigQuery User (
roles/bigquery.user
) 或 BigQuery Studio User (roles/bigquery.studioUser
) 角色。
如需获得对生成的数据分析的只读访问权限,请让您的管理员向您授予以下 IAM 角色:
- 针对您要查看其数据分析的 BigQuery 表所在项目的 Dataplex DataScan DataViewer (
roles/dataplex.dataScanDataViewer
) 角色。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
您也可以通过自定义角色或其他预定义角色来获取所需的权限。如需查看生成数据洞察所需的确切权限,请展开所需权限部分:
所需权限
bigquery.jobs.create
bigquery.tables.get
bigquery.tables.getData
dataplex.datascans.create
dataplex.datascans.get
dataplex.datascans.getData
dataplex.datascans.run
启用 API
如需使用数据分析,请在项目中启用以下 API:
如需详细了解如何启用 Gemini for Google Cloud API,请参阅在 Google Cloud 项目中启用 Gemini for Google Cloud API。
数据分析简介
在探索不熟悉的新表时,数据分析师通常会面临冷启动问题。该问题通常涉及到数据结构、关键模式和相关数据洞察的不确定性,因此难以开始编写查询。
数据洞察可根据表的元数据自动生成自然语言查询及其 SQL 等效查询,以此来解决冷启动问题。您可以使用提供宝贵数据洞察的有意义查询更快地开始数据探索,而不是从空的查询编辑器开始。如需进一步调查,您可以在数据画布中提出后续问题。
数据分析运行示例
假设有一个名为 telco_churn
且具有以下元数据的表:
字段名称 | 类型 |
---|---|
CustomerID | STRING |
性别 | STRING |
资历 | INT64 |
InternetService | STRING |
StreamingTV | STRING |
OnlineBackup | STRING |
合同 | STRING |
TechSupport | STRING |
PaymentMethod | STRING |
MonthlyCharges | FLOAT |
Churn | BOOLEAN |
以下是数据分析为此表生成的一些示例查询:
识别已订阅所有高级服务且成为客户超过 50 个月的客户。
SELECT CustomerID, Contract, Tenure FROM agentville_datasets.telco_churn WHERE OnlineBackup = 'Yes' AND TechSupport = 'Yes' AND StreamingTV = 'Yes' AND Tenure > 50;
确定哪个互联网服务的流失客户最多。
SELECT InternetService, COUNT(DISTINCT CustomerID) AS total_customers FROM agentville_datasets.telco_churn WHERE Churn = TRUE GROUP BY InternetService ORDER BY total_customers DESC LIMIT 1;
按细分确定高价值客户的流失率。
SELECT Contract, InternetService, Gender, PaymentMethod, COUNT(DISTINCT CustomerID) AS total_customers, SUM(CASE WHEN Churn = TRUE THEN 1 ELSE 0 END) AS churned_customers, (SUM(CASE WHEN Churn = TRUE THEN 1 ELSE 0 END) / COUNT(DISTINCT CustomerID)) * 100 AS churn_rate FROM agentville_datasets.telco_churn WHERE MonthlyCharges > 100 GROUP BY Contract, InternetService, Gender, PaymentMethod;
改进生成的数据洞察的最佳实践
如需提高生成的数据洞察的准确率,请遵循以下最佳实践:
使用数据分析结果为数据洞察建立依据
在生成式 AI 中,建立依据是指将模型输出连接到可验证的信息源的能力。您可以使用数据分析结果为生成的数据洞察建立依据。数据分析可分析 BigQuery 表中的列,并识别常见的统计特征,例如典型数据值和数据分布。为表创建数据分析扫描时,您可以选择将扫描结果发布到 Google Cloud 控制台中的 BigQuery 和 Dataplex Universal Catalog 页面。BigQuery 会执行以下操作,以便使用数据分析结果创建更准确、更相关的查询:
- 分析数据分析结果,以识别数据中的有趣模式、趋势或离群值。
- 生成重点关注这些模式、趋势或离群值的查询以发掘数据洞察
- 针对数据分析结果验证生成的查询,以确保查询返回有意义的结果。
如果不使用数据分析扫描,会发生以下情况:
- Gemini 生成的查询更有可能包含不准确的子句或生成无意义的结果。
- Gemini 生成的列说明仅基于列名称。
确保针对表的数据分析扫描是最新的,并且结果已发布到 BigQuery。
您可以调整数据分析设置,以增大采样规模并过滤出行和列。运行新的数据分析扫描后,请重新生成数据洞察。
添加表说明
详细的表说明可用于描述您想在表中分析的内容,从而帮助 Gemini in BigQuery 生成更相关的数据洞察。添加表说明后,请重新生成数据洞察。
例如,您可以向 telco_churn
表添加以下说明:“此表用于跟踪客户流失数据,包括订阅详情、使用期限和服务用量,以预测客户流失行为。”
如果您保存 Gemini 生成的表格说明,Gemini 会使用该说明来生成未来的数据洞见。
添加列说明
列说明可用于说明各列的内容,或一个列与另一个列之间的关系,从而提高数据洞察的质量。在表中更新列说明后,请重新生成数据洞察。
例如,您可以向 telco_churn
表的特定列添加以下说明:
Tenure
:“客户使用服务的月数”。Churn
:“客户是否已停止使用服务。TRUE 表示客户不再使用服务,FALSE 表示客户处于活跃状态。”
如果您保存 Gemini 生成的列说明,Gemini 会使用这些说明来生成未来的数据洞见。
为 BigQuery 表生成数据分析
如需为 BigQuery 表生成数据洞察,您必须使用 BigQuery Studio 在 BigQuery 中访问表条目。
在 Google Cloud 控制台中,前往 BigQuery Studio。
在探索器窗格中,选择要为其生成数据分析的表。
点击数据分析标签页。如果该标签页为空,则表示此表的数据分析尚未生成。
如需触发数据分析流水线,请点击生成数据分析。
数据洞察需要几分钟才能填充完毕。
如果可使用表的已发布数据分析结果,则系统会使用这些内容生成数据洞察。否则,系统会根据列名称和说明生成数据洞察。
在数据分析标签页中,浏览生成的自然语言问题。
如需查看用于回答问题的 SQL 查询,请点击相应问题。
如需在 BigQuery 中打开查询,请点击复制到查询。
如需提问后续问题,请执行以下操作:
点击接着提问。查询会在新的数据画布中打开。
点击运行,然后点击查询这些结果。
如需提出后续问题,请在自然语言提示字段中输入提示,或在查询编辑器中修改 SQL。
如需生成一组新查询,请点击生成数据分析并再次触发流水线。
为表生成数据洞察后,拥有 dataplex.datascans.getData
权限且可以访问表的任何人都可以查看这些数据洞察。
为 BigQuery 外部表生成数据分析
BigQuery 数据洞察支持为包含 Cloud Storage 中数据的 BigQuery 外部表生成数据洞察。您和当前项目的 Dataplex Universal Catalog 服务账号必须拥有针对包含数据的 Cloud Storage 存储桶的 Storage Object Viewer (roles/storage.objectViewer
) 角色。如需了解详情,请参阅将主账号添加到存储桶级层政策中。
如需为 BigQuery 外部表生成数据分析,请按照本文档的为 BigQuery 表生成数据分析部分中的说明操作。
为 BigLake 表生成数据分析
如需为 BigLake 表生成数据分析,请按以下步骤操作:
在项目中启用 BigQuery Connection API。
创建 BigQuery 连接。如需了解详情,请参阅管理连接。
将 Storage Object Viewer (
roles/storage.objectViewer
) IAM 角色授予与您创建的 BigQuery 连接对应的服务账号。您可以从连接详细信息中检索服务账号 ID。
如需生成数据分析,请按照本文档的为 BigQuery 表生成数据分析部分中的说明操作。
生成表和列说明
当您生成数据分析洞见时,Gemini 会自动生成表和列说明。您可以根据需要修改这些说明,然后将其保存到表的元数据中。Gemini 会使用已保存的说明来生成未来的数据分析。
如需生成表和列说明,请按以下步骤操作:
按照本文档相关部分中的说明生成数据分析:
在数据分析标签页上,点击查看列说明。
系统会显示 Gemini 生成的表说明和列说明。
如需修改并保存表格说明,请点击保存到详细信息。根据需要修改表格说明,然后点击保存。
如需修改并保存列说明,请点击保存到架构。根据需要修改列说明,然后点击保存。
价格
如需详细了解此功能的价格,请参阅 Gemini in BigQuery 价格概览。
配额和限制
如需了解此功能的配额和限制,请参阅 Gemini in BigQuery 的配额。
限制
- 数据分析适用于 BigQuery 表、BigLake 表、外部表和视图。
- 对于多云客户,来自其他云的数据不可用。
- 数据分析不支持
Geo
或JSON
列类型。 - 运行数据分析并不能保证每次都显示查询。为了提高生成更具吸引力的查询的可能性,请重新启动数据分析流水线。
- 对于具有列级访问权限控制 (ACL) 和受限用户权限的表,如果您拥有表中所有列的读取权限,则可以生成数据分析。若要运行生成的查询,您必须拥有足够的权限。
- Gemini 最多可为表中的 350 列生成列说明。
位置
您可以在所有 BigQuery 位置使用数据洞察。Gemini in BigQuery 在全球范围内运行,因此您无法将数据处理限制在特定区域。如需详细了解 Gemini in BigQuery 处理数据的位置,请参阅 Gemini 服务位置。
后续步骤
- 详细了解 Dataplex Universal Catalog 数据分析。
- 了解如何在 BigQuery 中借助 Gemini 编写查询。
- 详细了解 Gemini in BigQuery。