JOBS_TIMELINE_BY_USER 视图

INFORMATION_SCHEMA.JOBS_TIMELINE_BY_USER 视图包含当前项目中当前用户提交的作业的近乎实时 BigQuery 元数据(按时间片)。此视图包含当前正在运行的作业和已完成作业。

所需权限

如需查询 INFORMATION_SCHEMA.JOBS_TIMELINE_BY_USER 视图,您需要拥有项目的 bigquery.jobs.list Identity and Access Management (IAM) 权限。以下每个预定义的 IAM 角色均可提供所需的权限:

  • Project Viewer
  • BigQuery User

如需详细了解 BigQuery 权限,请参阅使用 IAM 进行访问权限控制

架构

当您查询 INFORMATION_SCHEMA.JOBS_TIMELINE_BY_* 视图时,每个 BigQuery 作业的每秒执行都会有一行对应的查询结果。每个时间段均以 1 秒为间隔,且刚好持续 1 秒。

INFORMATION_SCHEMA.JOBS_TIMELINE_BY_* 视图具有如下架构:

列名 数据类型
period_start TIMESTAMP 此时间段的开始时间。
period_slot_ms INTEGER 此时间段内使用的槽毫秒数。
project_id STRING (聚簇列)项目的 ID。
project_number INTEGER 项目编号。
user_email STRING (聚簇列)运行作业的用户的电子邮件地址或服务账号。
job_id STRING 作业的 ID。例如 bquxjob_1234
job_type STRING 作业的类型。可以是 QUERYLOADEXTRACTCOPYnull。作业类型 null 表示内部作业,例如脚本作业语句评估或物化视图刷新。
statement_type STRING 查询语句(如果有效的话)的类型。例如 SELECTINSERTUPDATEDELETE
priority STRING 此作业的优先级。 有效值包括 INTERACTIVEBATCH
parent_job_id STRING 父级作业的 ID(如有)。
job_creation_time TIMESTAMP (分区列)此作业的创建时间。分区基于此时间戳的世界协调时间 (UTC)。
job_start_time TIMESTAMP 此作业的开始时间。
job_end_time TIMESTAMP 此作业的结束时间。
state STRING 在此时间段结束时作业处于运行状态。有效状态包括 PENDINGRUNNINGDONE
reservation_id STRING 在此时间段结束时,分配给此作业的主要预留的名称(如果适用的话)。
edition STRING 与分配给此作业的预留关联的版本。如需详细了解版本,请参阅 BigQuery 版本简介
total_bytes_billed INTEGER 如果项目配置为使用按需价格,则此字段包含作业的总计费字节数。如果项目配置为使用固定价格,则您无需为字节付费,并且此字段仅供参考。
total_bytes_processed INTEGER 作业处理的字节总数。
error_result RECORD 错误的详细信息(如有),为 ErrorProto.
cache_hit BOOLEAN 查询此作业的查询结果是否来自缓存。
period_shuffle_ram_usage_ratio FLOAT 选定时间段内的 shuffle 使用率。
period_estimated_runnable_units INTEGER 可以立即安排在此时间段的工作单元。通过为这些工作单元分配额外的槽,您可以加快查询速度,但前提是预留中没有其他查询需要额外的槽。
transaction_id STRING 此作业在其中运行的事务的 ID(如果有)。(预览版

数据保留

此视图包含当前正在运行的作业和过去 180 天的作业历史记录。

范围和语法

针对此视图的查询必须包含区域限定符。如果您未指定区域限定符,则会从所有区域检索元数据。下表说明了此视图的区域和资源范围:

视图名称 资源范围 区域范围
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_USER 指定项目中当前用户提交的作业。 REGION
请替换以下内容:

  • 可选:PROJECT_ID:您的 Google Cloud 项目的 ID。如果未指定,则使用默认项目。

  • REGION:任何数据集区域名称。例如 `region-us`

  • 示例

    以下查询显示指定项目中当前用户提交的作业每秒使用的总槽毫秒数:

    SELECT
      period_start,
      SUM(period_slot_ms) AS total_period_slot_ms
    FROM
      `region-us`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_USER
    GROUP BY
      period_start
    ORDER BY
      period_start DESC;

    结果类似于以下内容:

    +---------------------------+---------------------------------+
    |  period_start             |  total_period_slot_ms           |
    +---------------------------+---------------------------------+
    |  2019-10-10 00:00:04 UTC  |  118639                         |
    |  2019-10-10 00:00:03 UTC  |  251353                         |
    |  2019-10-10 00:00:02 UTC  |  1074064                        |
    |  2019-10-10 00:00:01 UTC  |  1124868                        |
    |  2019-10-10 00:00:00 UTC  |  1113961                        |
    +---------------------------+---------------------------------+