在 BigQuery 中生成数据分析

如需获得支持,请发送电子邮件至 [email protected]

数据分析提供了一种自动方法来探索和理解您的数据。它使用 Gemini 根据表的元数据生成查询,可让您发现模式、评估数据质量和执行统计分析。

本文档介绍了数据分析的主要功能以及自动生成查询以进行深度数据探索的过程。

数据分析简介

数据分析师在几乎没有相关知识储备的情况下探索新数据集时,会面临数据探索的冷启动问题。该问题通常涉及到数据结构、关键模式和相关数据分析的不确定性。通过使用基于元数据的自动查询生成,数据分析可以解决数据探索中的冷启动问题。这些数据分析可提供有价值的提示,帮助您做出明智的决策并更深入地了解数据。与其从零开始,不如使用可提供宝贵数据分析的有意义的查询更快地开始数据探索。

使用数据分析生成的查询通过发布的分析扫描数据建立依据。数据分析使用已发布的分析扫描数据来编写可提供结果的查询,从而提供高效、可靠的信息检索。这大大加快了数据分析过程的启动速度,使您可以基于更清晰的方向和目的深入研究数据。

数据分析可作为指导工具,解决浏览不熟悉的数据集时面临的常见挑战,帮助您在数据探索期间更快地做出明智的决策并发现模式。

数据分析运行示例

假设有一个名为 telco_churn 且具有以下元数据的表:

字段名称 类型
CustomerID STRING
Gender STRING
Tenure INT64
PhoneService STRING
OnlineBackup STRING
Dependents BOOLEAN
Contract STRING
TechSupport STRING
PaymentMethod STRING
MonthlyCharges FLOAT
Churn BOOLEAN

以下是数据分析为此表生成的一些示例查询:

  • 识别已订阅所有高级服务且成为客户超过 50 个月的客户。

    SELECT
      CustomerID,
      Contract,
      Tenure
    FROM
      agentville_datasets.telco_churn
    WHERE
      OnlineSecurity = 'Yes'
      AND OnlineBackup = 'Yes'
      AND DeviceProtection = 'Yes'
      AND TechSupport = 'Yes'
      AND StreamingTV = 'Yes'
      AND StreamingMovies = '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;
    

使用分析扫描为数据分析建立依据简介

数据分析使用已发布的分析扫描数据来提高生成的查询的准确率。分析扫描数据提供了有关数据集的数据分布、数据类型和统计摘要的重要信息。

分析扫描数据简介

分析扫描数据是描述表内容的元数据。它包含以下信息:

  • 列的数据类型
  • 最小值和最大值
  • 值的分布
  • Null 或缺失值
  • 最高值
  • 唯一值及其频率

数据分析使用这些信息生成针对特定表量身定制的查询。

数据分析如何使用分析扫描数据为查询建立依据

数据分析使用分析扫描数据,基于数据集中的实际数据分布和模式创建查询。此过程包括以下步骤:

  • 分析分析扫描数据,以识别数据中有趣的模式、趋势或离群值
  • 生成重点关注这些模式、趋势或离群值的查询以发掘数据洞见
  • 针对分析扫描数据验证生成的查询,以确保查询返回有意义的结果

关于最大限度地发挥数据分析效益的提示

以事实为依据的查询可确保您获得的数据分析准确、相关且可操作,使您可以做出更明智的数据驱动型决策。如需使用分析扫描数据充分利用以事实为依据的查询,请遵循以下提示:

  • 确保您的表具有最新的已发布分析扫描数据。这有助于数据分析生成更准确、更相关的查询。
  • 查看生成的查询,了解它们如何使用分析扫描数据建立依据。这样,您就可以解读结果并更深入地了解数据。
  • 如果生成的查询不相关或没有用,请调整表的分析扫描设置,或为数据分析提供其他上下文。

价格

BigQuery 数据分析功能在预览版期间不会产生费用。

限制

  • 数据分析适用于 BigQuery 表、BigLake 表、外部表和视图。
  • 对于多云客户,来自其他云的数据不可用。
  • 数据分析不支持 GeoJSON 列类型。
  • 运行数据分析并不能保证每次都显示查询。为了提高生成更具吸引力的查询的可能性,请重新启动数据分析流水线。
  • 对于具有列级访问权限控制 (ACL) 和受限用户权限的表,如果您拥有表中所有列的读取权限,则可以生成数据分析。若要运行生成的查询,您必须拥有足够的权限

准备工作

所需的角色和权限

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

  • 运行数据分析流水线:

    • 对于在其中触发数据分析扫描的项目,其服务账号的 Cloud AI Companion User (roles/cloudaicompanion.user) IAM 角色

      服务账号的电子邮件地址采用以下格式:

      service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com

    • 针对项目的 dataplex.datascans.create 权限

    • 针对 BigQuery 表的 bigquery.tables.getData 权限

    • 针对表中所有列的读取权限

  • 查看生成的数据分析:

    • 针对生成的数据扫描的 dataplex.datascans.getData 权限
  • 使用分析扫描建立查询依据:

    • 服务账号 (service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com) 的 BigQuery DataScan DataViewer (roles/dataplex.dataScanDataViewer) IAM 角色

    • 针对已发布数据分析文件扫描的 dataplex.datascans.getData 权限

如需详细了解如何授予角色,请参阅管理对服务账号的访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

启用 API

如需使用数据分析,请在项目中启用以下 API:

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

为 BigQuery 表生成数据分析

如需为 BigQuery 表生成数据分析,您必须使用 BigQuery Studio 访问 BigQuery 中的表条目。

  1. 在 Google Cloud 控制台中,进入 BigQuery Studio。

    进入 BigQuery Studio

  2. 探索器窗格中,选择要为其生成数据分析的表。

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

  4. 如需触发数据分析流水线,请点击生成数据分析

    数据分析需要 5-10 分钟才能完成填充。

    如果可以访问该表的已发布分析扫描,则用于生成全面的数据分析。否则,系统会根据列名称及其各自的说明形成数据分析。此方法可确保无论分析扫描是否可用,您都能收到数据分析。

  5. 数据分析标签页中,浏览生成的查询及其说明。

  6. 如需在 BigQuery 中打开查询,请点击在 BigQuery 中打开

  7. 如需生成一组新查询,请点击生成数据分析并再次触发流水线。

为 BigQuery 外部表生成数据分析

BigQuery 数据分析支持位于同一 Google Cloud 项目中的 BigQuery 外部表。如果 BigQuery 表引用存储在另一个 Google Cloud 项目的 Cloud Storage 中的数据,则数据分析生成将失败。

如需为 BigQuery 外部表生成数据分析,请按照本文档的为 BigQuery 表生成数据分析部分中的说明操作。

为 BigLake 表生成数据分析

如需为 BigLake 表生成数据分析,请按以下步骤操作:

  1. 在项目中启用 BigQuery Connection API。

    启用 BigQuery Connection API

  2. 创建 BigQuery 连接。如需了解详情,请参阅管理连接

  3. 将 Storage Object Viewer (roles/storage.objectViewer) IAM 角色授予与您创建的 BigQuery 连接对应的服务账号。

    您可以从连接详细信息中检索服务账号 ID。

  4. 如需生成数据分析,请按照本文档的为 BigQuery 表生成数据分析部分中的说明操作。

后续步骤