BigQuery - 使用情况和性能监控



理解使用情况和性能限制至关重要,尤其是在组织内部工作的人员。持续监控消耗大量槽时间的用户和数据源,可以帮助 BigQuery 管理员做出关于限制资源访问的明智决策,并在运行资源密集型作业的团队之间引发富有成效的讨论。

性能仪表盘

为了实现更透明的实时监控,BigQuery 在 BigQuery Studio UI 的监控选项卡中提供了性能仪表盘。

注意 - 每次执行查询时都会绘制性能图表。

Monitoring Usage & Performance

此外,BigQuery 还为查询性能提供了一个执行图,以便更直观地解释。

Bigquery Execution Graph

在项目级别,管理员可以在“监控”仪表盘中查看 BigQuery 数据。监控可在项目级别数据集级别进行。

项目级别监控

项目级别显示当前正在运行或“进行中”的查询数量。

Project Level Monitoring

数据集级别监控

数据集级别,我们可以看到每个表的存储字节数。

Dataset Level Monitoring

要访问和操作这些图表,请按照以下步骤操作:

  • 导航到 BigQuery
  • 选择管理
  • 点击监控
  • 如果需要:切换实时数据

在此 UI 中,用户还可以访问运行状况,该功能以两种不同的视图形式提供信息:摘要视图和更详细的视图

运行状况摘要表中一些管理员和用户都认为有用的主要指标包括:

  • 槽使用率
  • Shuffle(资源重新分配)使用率
  • 并发性(同时作业数)
  • 处理的字节数
  • 作业持续时间
  • 总存储量

注意 - 使用单位为字节(如有必要,可以转换为千兆字节或太字节)。

为了更细致的视图,用户可以使用本教程前面介绍的元数据查询技术来查询 INFORMATION_SCHEMA 视图。

BigQuery 的常见错误

尽管掌握了有关 BigQuery 功能的知识和信息,但与任何开发过程一样,错误仍然可能发生,事实上,错误是不可避免的。由于缺乏平台经验,新用户尤其容易犯 BigQuery 错误。

BigQuery 错误类型

BigQuery 错误分为两类:

  • 基于代码的错误
  • 基于平台的错误

尽管 BigQuery 的 SQL 方言(Google SQL)旨在普遍理解,并类似于其他 SQL 方言,但语法错误仍然可能发生,坦率地说,这可能会非常令人沮丧。

BigQuery 语法错误

以下是 BigQuery 语法错误的非详尽列表:

  • 使用撇号代替反引号。
  • 在 FROM 子句中省略数据集或表。
  • 不正确地使用 UNNEST()(在 STRUCT 而不是 ARRAY 上)。
  • 在使用聚合函数(如 AVG())时忘记 GROUP BY 子句。
  • 忘记列名之间的逗号。

基于平台的错误

基于平台的错误源于对 BigQuery 执行约束的误解,可能包括:

  • 运行超过 20 个并发查询。
  • 不将大型查询的结果写入表中,导致“结果太大”错误。
  • 不将大型查询作为批处理作业运行。
  • 覆盖或截断表而不是追加结果。

不幸的是,不可能标记 BigQuery SQL 开发人员将会遇到的几乎所有错误。但是,以上代表了您可能会遇到的大量问题。

广告