BigQuery 分析概览

本文档介绍了 BigQuery 如何处理查询,并简要介绍了几种可用于了解和分析数据的功能。

BigQuery 经过优化,可以对大型数据集运行分析查询,包括在数秒内处理 TB 级数据,在几分钟内处理 PB 级数据。了解其功能及其处理查询的方式可以帮助您最大程度实现数据分析投资的价值。

如需直接在 Google Cloud 控制台中浏览 BigQuery 的数据分析功能,请点击浏览

了解看看

BigQuery 支持多种数据分析工作流:

  • 即席分析。BigQuery 使用 GoogleSQL(BigQuery 中的 SQL 方言)来支持临时分析。您可以在 Google Cloud 控制台中或通过与 BigQuery 集成的第三方工具运行查询。

  • 地理空间分析。BigQuery 使用地理数据类型和 GoogleSQL 地理函数来分析和直观呈现地理空间数据。如需了解这些数据类型和函数,请参阅地理空间分析简介

  • 搜索。您可以为数据编制索引,以对非结构化文本或半结构化 JSON 数据执行灵活且经过优化的搜索

  • 机器学习。借助 BigQuery ML,您可以使用 GoogleSQL 查询在 BigQuery 中创建和执行机器学习模型。

  • 商业智能。BigQuery BI Engine 是一项高速内存中分析服务,可让您构建丰富的交互式信息中心和报告,而不会影响性能、可扩缩性、安全性或数据新鲜度。

  • AI 辅助。您可以使用 Gemini in BigQuery 准备和探索数据、生成 SQL 查询和 Python 代码,以及直观呈现结果。

数据浏览

在开始编写 SQL 查询之前,BigQuery 可以帮助您了解数据。如果您不熟悉自己的数据、不知道该问哪些问题,或者需要编写 SQL 方面的帮助,请使用以下功能:

  • 表探索器。直观地探索表中值的范围和频率,并以互动方式构建查询。

  • 数据分析。生成有关数据的自然语言问题,以及用于回答这些问题的 SQL 查询。

  • 数据分析扫描。查看数据的统计特征,包括平均值、唯一值、最大值和最小值。

  • 数据画布。使用自然语言查询数据、使用图表直观呈现结果,以及提出后续问题。

查询

在 BigQuery 中分析数据的主要方式是运行 SQL 查询GoogleSQL 方言支持 SQL:2011,并且包含支持地理空间分析和机器学习的扩展程序。

数据源

借助 BigQuery,您可以查询以下类型的数据源:

查询类型

您可以使用以下查询作业类型之一来查询 BigQuery 数据

  • 交互式查询作业。默认情况下,BigQuery 会尽快运行交互式(按需)查询作业。

  • 批量查询作业。使用这些作业时,BigQuery 会代表您将每个批量查询排队,然后在有空闲资源时启动查询,通常在几分钟之内。

  • 持续查询作业预览版)。借助这些作业,查询会持续运行,让您能够实时分析 BigQuery 中的传入数据,然后将结果写入 BigQuery 表,或将结果导出到 Bigtable 或 Pub/Sub。您可以使用此功能执行对时间敏感的任务,例如创建数据洞见并立即采取行动、应用实时机器学习 (ML) 推理,以及构建事件驱动型数据流水线。

您可以使用以下方法运行查询作业:

保存的查询和共享的查询

使用 BigQuery,您可以保存查询以及与他人共享查询

保存的查询可以不公开(仅对您可见)、在项目级层共享(对具体主账号可见)或公开(任何人都可以查看)。如需了解详情,请参阅使用已保存的查询

BigQuery 处理查询的方式

BigQuery 运行查询时会发生多个进程:

  • 执行树。在运行查询时,BigQuery 会生成执行树,以将查询分为几个阶段。这些阶段包含可以并行运行的步骤。

  • Shuffle 层。各阶段使用快速分布式 Shuffle 层相互通信,Shuffle 层用于存储由阶段工作器生成的中间数据。Shuffle 层尽可能利用 PB 级网络和 RAM 等技术来将数据快速移动到工作器节点。

  • 查询计划。当 BigQuery 拥有运行查询所需的所有信息时,会生成查询计划。您可以在 Google Cloud 控制台中查看查询计划,并使用它来排查问题或优化查询性能

  • 查询执行图。您可以按图形格式查看任何查询的查询计划信息,无论是正在运行还是已完成,并查看性能数据分析,以帮助您优化查询。

  • 查询监控和动态计划。除了执行查询计划本身工作的工作器之外,其他工作器还会监控并指导整个系统的整体工作进度。随着查询的进行,BigQuery 可能会动态调整查询计划,以适应不同阶段的结果。

  • 查询结果。查询完成后,BigQuery 会将结果写入永久性存储空间并返回给用户。这种设计可让 BigQuery 在下次运行查询时提供缓存的结果

查询并发和性能

由于 BigQuery 环境的共享特性、使用缓存的查询结果,或者由于 BigQuery 在查询运行时动态调整查询计划,因此对相同数据反复运行的查询的表现可能会有差异。对于有许多查询并发运行的典型忙碌系统,BigQuery 会使用多个进程来消除查询性能差异:

  • BigQuery 并行运行许多查询,并且可以将查询加入队列,以便在有资源可用时运行。

  • 查询开始和完成时,BigQuery 会在新查询和正在运行的查询之间公平地重新分配资源。此过程可确保查询性能不取决于查询提交顺序,而是取决于在指定时间运行的查询数量。

查询优化

运行查询时,您可以在 Google Cloud 控制台中查看查询计划。还可使用 INFORMATION_SCHEMA.JOBS* 视图jobs.get REST API 方法请求执行详细信息。

查询计划包括有关查询阶段和步骤的详细信息。这些详细信息可帮助您确定改善查询性能的方法。例如,如果您发现某个阶段写入的输出比其他阶段多得多,则可能意味着您需要在查询的早期阶段进行过滤。

如需详细了解查询计划和查询优化,请参阅以下资源:

查询监控

监控和日志记录对于在云端运行可靠应用至关重要。BigQuery 工作负载也不例外,尤其是在工作负载量大或工作负载是任务关键型工作负载的情况下。BigQuery 提供各种指标、日志和元数据视图,可帮助您监控 BigQuery 使用情况。

如需了解详情,请参阅以下资源:

查询价格

BigQuery 为分析提供了两种价格模式:

如需了解这两种价格模式,并详细了解如何进行基于容量的价格的预留,请参阅预留简介

配额和查询费用控制

BigQuery 会对正在运行的查询强制执行项目级层配额。如需了解查询配额,请参阅配额和限制

BigQuery 提供了多种查询费用控制选项,包括自定义配额和结算提醒。如需了解详情,请参阅创建自定义费用控制条件

数据分析功能

BigQuery 支持描述性分析和预测分析,可帮助您利用 AI 赋能的工具、SQL、机器学习、记事本和其他第三方集成来探索数据。

BigQuery Studio

BigQuery Studio 可帮助您使用以下功能在 BigQuery 中发现、分析数据并对其运行推理:

BigQuery ML

借助 BigQuery ML,您可以在 BigQuery 中使用 SQL 来执行机器学习 (ML) 和预测分析。如需了解详情,请参阅 BigQuery ML 简介

分析工具集成

除了在 BigQuery 中运行查询之外,您还可以使用与 BigQuery 集成的各种分析工具和商业智能工具来分析数据,例如:

  • Looker。Looker 是一个提供商业智能、数据应用和嵌入式分析的企业级平台。Looker 平台可与许多数据存储区(包括 BigQuery)搭配使用。如需了解如何将 Looker 连接到 BigQuery,请参阅使用 Looker

  • Looker Studio。运行查询后,您可以直接从Google Cloud 控制台中的 BigQuery 启动 Looker 数据洞察。然后,您可以在 Looker 数据洞察中创建可视化效果并探索查询返回的数据。如需了解 Looker Studio,请参阅 Looker Studio 概览

  • 关联工作表。您还可以直接从控制台中的 BigQuery 启动关联工作表。关联工作表会根据您的请求或按照定义的时间表,代表您运行 BigQuery 查询。相应查询结果会保存在您的电子表格中,以用于分析和共享。如需了解关联工作表,请参阅使用关联工作表

  • Tableau。您可以从 Tableau 连接到数据集。使用 BigQuery 为图表、信息中心和其他数据可视化功能提供支持。

第三方工具集成

多种第三方分析工具可与 BigQuery 配合使用。例如,您可以将 Tableau 连接到 BigQuery 数据,并使用其直观呈现工具分析和共享您的分析。如需详细了解使用第三方工具时的注意事项,请参阅第三方工具集成

ODBC 和 JDBC 驱动程序可供使用,并可用于将应用与 BigQuery 集成。这些驱动程序旨在帮助用户将 BigQuery 的强大功能与现有的工具和基础架构搭配使用。如需了解最新版本和已知问题,请参阅适用于 BigQuery 的 ODBC 和 JDBC 驱动程序

诸如 pandas-gbq 之类的 Pandas 库可让您与 Jupyter 笔记本中的 BigQuery 数据进行交互。如需了解此库及其与使用 BigQuery Python 客户端库的比较,请参阅pandas-gbq 的比较

您还可以将 BigQuery 与其他笔记本和分析工具一起使用。如需了解详情,请参阅程序化分析工具

如需查看 BigQuery 分析和更广泛的技术合作伙伴的完整列表,请参阅 BigQuery 产品页面上的合作伙伴列表。

后续步骤