使用 BigQuery 高级运行时

本文档介绍了如何启用和停用 BigQuery 高级运行时,以及如何评估高级运行时对��询性能的影响。

高级运行时为 BigQuery 查询处理器提供增强型矢量化。增强型向量化通过将其应用于查询处理的关键方面(例如 BigQuery 存储空间中的过滤器评估、专用数据编码和优化技术)来扩展向量化查询执行。

角色与权限

如需获得指定配置设置所需的权限,请让您的管理员为您授予项目的 BigQuery Admin (roles/bigquery.admin) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

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

启用高级运行时

如需为项目启用高级运行时,请使用 ALTER PROJECT 语句更改默认配置。在语句中,将 query_runtime 参数设置为 'advanced'。例如:

ALTER PROJECT PROJECT_NAME
SET OPTIONS (
  `region-LOCATION.query_runtime` = 'advanced'
);

替换以下内容:

  • PROJECT_NAME:项目的名称
  • LOCATION:项目的位置

更改可能需要几分钟才能生效。

启用高级运行时后,无论查询作业是由哪个用户创建的,项目中符合条件的查询都会使用高级运行时。

停用高级运行时

如需为项目停用高级运行时,请使用 ALTER PROJECT 语句更改默认配置。在语句中,将 query_runtime 参数设置为 NULL。例如:

ALTER PROJECT PROJECT_NAME
SET OPTIONS (
  `region-LOCATION.query_runtime` = NULL
);

替换以下内容:

  • PROJECT_NAME:项目的名称
  • LOCATION:项目的位置

更改可能需要几分钟才能生效。

评估查询性能

您可以使用管理作业浏览器INFORMATION_SCHEMA 视图来评估高级运行时对查询执行时间和槽用量的影响。

请按照以下步骤评估启用和不启用高级运行时的查询性能:

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

    转到 BigQuery

  2. 在查询编辑器中打开一个新标签页。

  3. 为该查询标签页停用缓存的查询结果

  4. 在“查询”标签页中输入或复制测试查询。

  5. 运行测试查询几次,以确定基准性能。 在每次运行后,请按如下方式确定查询性能指标:

    1. 在管理作业探索器中查看查询执行详情
    2. 在新的查询标签页中运行以下查询,从 INFORMATION_SCHEMA.JOBS_BY_USER 视图 检索作业性能数据:

      SELECT
          job_id,
          end_time - start_time AS duration,
          total_slot_ms,
          query
      FROM
        `region-us`.INFORMATION_SCHEMA.JOBS_BY_USER
      WHERE
          creation_time > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
          AND job_type='QUERY'
          AND total_slot_ms IS NOT NULL
      ORDER BY
          creation_time DESC,
          query ASC
      LIMIT 1000;
      
  6. 启用高级运行时

  7. 重复第 5 步。

  8. 比较启用高级运行时之前和之后的测试查询的查询延迟时间和槽用量指标。