使用管理作业探索器

作为 BigQuery 管理员,您可以使用管理作业探索器来帮助您监控组织中的作业活动。作业探索器还提供了一系列过滤条件和排序选项,用于排查和识别有问题的作业。作业探索器让您无需深入了解 INFORMATION_SCHEMA,并且可让您快速查看作业信息(例如所有者、项目、槽用量、时长等),而无需编写 INFORMATION_SCHEMA 查询。

您还可以选择单个作业以打开作业详情页面,其中提供了查询详情(例如执行图、SQL 文本和执行历史记录),可帮助您诊断和排查查询问题。 在此页面上,您可以比较两个作业,以突出显示它们之间的显著差异并解决潜在的性能问题。

BigQuery 通过以下 INFORMATION_SCHEMA 视图提供作业详情和分析洞见:

所需的角色

如需获得使用管理作业探索器所需的权限,请让您的管理员为您授予组织或项目的 BigQuery Resource Viewer (roles/bigquery.resourceViewer) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

此预定义角色可提供使用管理作业探索器所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

使用管理作业探索器需要以下权限:

  • 如需在项目级层查看数据: 针对项目的 bigquery.jobs.listAll 权限
  • 在项目级层查看数据:针对组织的 bigquery.jobs.listAll 权限
  • 按组织中的预留过滤:针对组织的 bigquery.reservations.list 权限

您也可以使用自定义角色或其他预定义角色来获取这些权限。

过滤作业

如需根据 INFORMATION_SCHEMA.JOBS* 视图中包含的查询来过滤作业,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往 BigQuery 页面。

    转到 BigQuery

  2. 在导航菜单中,点击作业探索器

  3. 位置列表中,选择您要查看其作业的位置。

  4. 根据需要应用可选的过滤条件

    • 作业范围。例如,当前项目、组织和作业。
    • 状态。例如,已完成、错误、活跃和已加入队列。
    • 作业优先级。例如,交互式作业或批量作业。
    • 作业 ID
    • 所有者。作业所有者的电子邮件 ID(仅当作业范围为项目或组织时适用)。
    • 项目 ID。(仅当作业范围为组织时才适用)
    • 预留 ID。(仅当作业范围为组织时才适用)
    • 槽时间超过。用时超过指定槽时间的作业。
    • 时长超过。用时超过指定时长的作业。
    • 处理的字节数超过。处理的字节数超过指定处理字节数的作业。
    • 查询数据分析。查询数据分析的类型,例如槽争用、已超出内存 shuffle 容量以及数据输入缩放变化。
    • 查询哈希值。查询哈希值包含查询的哈希值。它是一个十六进制字符串哈希值,忽略注释、参数值、UDF 和字面量。系统会对非缓存命中的成功 GoogleSQL 查询显示此字段。
    • 标签。可分配给作业的 key:value 对。您可以使用键、值或 key:value 组合进行过滤。
    • 作业类别。查询的类型,例如标准查询持续查询

查看查询执行详情

如需查看作业的查询执行详情,请执行以下操作:

  1. 前往作业探索器页面。

    前往作业探索器

  2. 如需查看作业,请点击作业探索器

  3. 过滤作业以便仅查看部分作业。

  4. 点击要查看查询执行详情的作业。

  5. 查询结果窗格中,点击执行图标签页以查看作业的执行详情。

    作业的执行图。

如需了解如何解读数据分析,请参阅解读查询性能数据分析

获取 BigQuery 作业详情

如需就此功能提供反馈或请求支持,请发送邮件至 bq-performance-troubleshooting+feedback@google.com

在管理作业探索器中,您可以查看 BigQuery 详情页面。BigQuery 作业详情页面将多个查询详情整合到一个页面中,以帮助诊断和排查查询问题。性能标签页会编译查询信息,包括执行图、SQL 文本和执行历史记录。

性能标签页还支持查询比较,让您可以比较查询的历史使用情况,并分析和解决任何可能的性能下降问题。如需详细了解作业比较,请参阅比较作业

准备工作

如需获得处理 BigQuery 作业详情和系统级详情所需的权限,请让您的管理员为您授予组织或项目的以下 IAM 角色:

  • 查看作业详情:BigQuery Resource Viewer (roles/bigquery.resourceViewer) - 运行查询的项目
  • 查看系统级详情:BigQuery Resource Viewer (roles/bigquery.resourceViewer) - 管理项目

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

这些预定义角色可提供处理 BigQuery 作业详情和系统级详情所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

处理 BigQuery 作业详情和系统级详情需要以下权限:

  • 如需在项目级层查看数据: 针对项目的 bigquery.jobs.listAll 权限
  • 在项目级层查看数据:针对组织的 bigquery.jobs.listAll 权限
  • 按组织中的预留过滤:针对组织的 bigquery.reservations.list 权限

您也可以使用自定义角色或其他预定义角色来获取这些权限。

查看作业详情

如需查看作业详情页面,请执行以下操作:

  1. 前往作业探索器页面。

    前往作业探索器

  2. 可选:过滤作业,以缩小显示的可用作业的范围。

  3. 点击要查看的作业的 ID。对于不创建作业的查询,系统会显示查询 ID,但链接处于停用状态。对于所有其他查询,点击作业 ID 会显示作业详情页面。

默认情况下,系统会显示性能标签页。您可以前往其他标签页以查看更多作业信息。

可用的查询信息

下表介绍了性能标签页中提供的信息和指标。

  • SQL 查询:创建作业的 SQL 查询的文本。

  • 作业详情:有关作业的信息,包括作业 ID、创建时间、处理的字节数等。如需了解详情,请参阅查看作业详细信息

  • 性能差异:有关作业与之前执行相同查询时的性能比较信息。BigQuery 会将当前作业与处理的字节数相似 (+/- 5%) 且作业时长最短的过往执行情况(如果存在)进行比较。如果不存在此类过往执行情况,则 BigQuery 会将当前作业与过去 30 天内过往执行情况的平均值进行比较。如果没有过往执行情况,则此部分表示未找到可供比较的类似作业。

  • 执行历史记录:按查询哈希列出的此查询的其他执行情况。 在此面板中,您可以选择要与当前查看的作业进行比较的作业。如需详细了解如何比较作业,请参阅比较作业

  • 执行期间的系统负载:BigQuery 用于执行作业的资源的说明。这包括有关此作业所用预留设置的信息(如果适用)。

  • 执行图:此作业的执行图。如需了解详情,请参阅获取查询性能数据分析

比较作业

如需就此功能提供反馈或请求支持,请发送邮件至 bq-performance-troubleshooting+feedback@google.com

通过作业性能比较,您可以将基准作业与目标作业进行比较;查询分析会突出显示这两个作业之间存在显著差异的作业详情。这有助于您排查两个查询作业之间可能存在的性能问题。

比较两个查询时,如需优化查询,请务必考虑作业时长、槽时间和处理的字节数等重要详情。

准备工作

如需获得处理 BigQuery 作业详情和系统级详情所需的权限,请让您的管理员为您授予组织或项目的以下 IAM 角色:

  • 查看作业详情:BigQuery Resource Viewer (roles/bigquery.resourceViewer) - 运行查询的项目
  • 查看系统级详情:BigQuery Resource Viewer (roles/bigquery.resourceViewer) - 管理项目

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

这些预定义角色可提供处理 BigQuery 作业详情和系统级详情所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

处理 BigQuery 作业详情和系统级详情需要以下权限:

  • 如需在项目级层查看数据: 针对项目的 bigquery.jobs.listAll 权限
  • 在项目级层查看数据:针对组织的 bigquery.jobs.listAll 权限
  • 按组织中的预留过滤:针对组织的 bigquery.reservations.list 权限

您也可以使用自定义角色或其他预定义角色来获取这些权限。

了解作业性能比较

以下部分介绍了作业性能比较页面及其提供的问题排查信息。

您可以开启仅显示显著差异切换开关,以仅查看此页面上包含的所有指标在两个作业之间的显著差异。

显著差异会以绿色、黄色和红色突出显示:

  • 绿色:变化朝着正方向移动。例如,由于查询时长越短越好,因此如果目标作业的运行速度超过基准作业,则会标记为绿色。
  • 黄色:变化朝着负方向移动,但差值小于 20%。
  • 红色:变化朝着负方向移动,且差值大于 20%。

查询级分析

查询级分析窗格描述了两个作业在查询级别的差异。它包含三个标签页:指标SQL 文本执行图标签页。

  • 指标标签页描述了两个作业的查询指标。您可以使用此标签页来确定作业时长、未使用的加速器与其他指标之间是否存在差异。

  • SQL 文本标签页显示了创建作业的两个 SQL 语句,并突出显示了它们之间的差异。您可以使用此标签页来确定 SQL 语句中的更改是否影响了作业性能。

  • 执行图标签页比较两个作业的执行图。您可以使用此标签页来确定作业执行期间是否在任何阶段出现差异。

系统级分析

系统级分析窗格描述了可能在系统级别影响两个作业的因素。它包含三个部分:项目表、预留表和设置表。

系统级分析窗格可以根据两个查询之间的差异,建议需要改进的方面。

例如,如果作业获得的槽数少于之前的执行,则可能是受到了系统中的资源限制条件的影响。如果出现此指示,请检查项目级指标,查看整个项目是否获得的槽数较少。如果项目未收到较少的槽,则可能是项目级层发生了争用,例如作业并发数增加。如果项目确实收到了较少的槽,请检查预留级别以确定任何限制条件。

  • 项目表在项目级层比较两个作业。您可以使用此表来确定是否可以在项目级层进行任何优化。

  • 预留表在预留级层比较两个作业。使用此表可找出两个查询之间在预留用量方面的差异,这些差异可能会影响作业性能。

  • 设置表比较两个作业之间的预留设置。您可以使用此表检测预留设置的任何更改,这些更改可能会对性能产生影响。

比较两个作业

如需比较两个作业,请执行以下操作:

  1. 前往作业探索器页面。

    前往作业探索器

  2. 可选:过滤作业,以缩小显示的可用作业的范围。

  3. 点击要查看和比较的初始作业的作业 ID。系统会显示作业详情页面。

  4. 点击性能标签页。

  5. 点击比较作业

  6. 作业 1(基准作业)字段中,点击浏览。系统会显示类似的同类作业面板。

  7. 确定要与基准作业进行比较的作业,然后点击比较。系统会显示作业性能比较。

  8. 如需仅查看这两个作业之间的显著差异,请开启仅显示显著差异切换开关。

更改要比较的作业

如需更改要比较的作业,请执行以下操作:

  1. 前往作业性能比较页面。

  2. 作业 1(基准作业)字段中,点击浏览

  3. 类似的同类作业窗格中,找到要比较的作业,然后点击比较

价格

作业探索器无需额外付费。用于填充这些图表的查询不会计费,也不会使用用户拥有的预留中的槽。处理过多数据的查询会超时。

后续步骤