BigQuery INFORMATION_SCHEMA 简介

INFORMATION_SCHEMA 是一系列视图,可提供对以下内容的访问:

价格

对于使用按需价格的项目,针对 INFORMATION_SCHEMA 视图的查询会产生至少 10 MB 数据的处理费用,即使查询处理的字节小于 10 MB 也是如此。10 MB 是按需查询的最低结算数据量。如需了解详情,请参阅按需价格

如果项目使用固定价格,则查询 INFORMATION_SCHEMA 视图和表时会消耗您购买的 BigQuery 槽。如需了解详情,请参阅固定价格

由于系统不缓存 INFORMATION_SCHEMA 查询,因此每次运行 INFORMATION_SCHEMA 查询时您都需要付费,即使每次都运行相同的查询文本也是如此。

您不需要为 INFORMATION_SCHEMA 视图支付存储费用。

语法

INFORMATION_SCHEMA 视图可能需要使用数据集或地区进行限定。

数据集限定符

如果存在,则数据集限定符会将结果限制为指定的数据集。例如:

-- Returns metadata for tables in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.TABLES;

-- Prepending a project ID returns metadata for the specified project
-- and dataset.
SELECT * FROM myProject.myDataset.INFORMATION_SCHEMA.TABLES;

以下 INFORMATION_SCHEMA 视图支持数据集限定符:

  • COLUMNS
  • COLUMN_FIELD_PATHS
  • PARAMETERS
  • ROUTINES
  • ROUTINE_OPTIONS
  • TABLES
  • TABLE_OPTIONS
  • VIEWS

地区限定符

地区限定符使用 region-REGION 语法表示。任何数据集地区名称都可能用于 REGION。例如,以下都是有效的地区限定符:

  • region-us
  • region-asia-east2
  • region-europe-north1

如果存在,则地区限定符会将结果限制在指定地区中。例如:

-- Returns metadata for datasets in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.SCHEMATA;

-- Prepending a project ID returns metadata from the specified project
-- and region.
SELECT * FROM myProject.`region-us`.INFORMATION_SCHEMA.SCHEMATA;

以下 INFORMATION_SCHEMA 视图支持地区限定符:

  • 支持数据集限定符的所有视图
  • ASSIGNMENT_CHANGES_BY_PROJECT
  • ASSIGNMENTS_BY_PROJECT
  • CAPACITY_COMMITMENT_CHANGES_BY_PROJECT
  • CAPACITY_COMMITMENTS_BY_PROJECT
  • JOBS_BY_ORGANIZATION
  • JOBS_BY_FOLDER
  • JOBS_BY_PROJECT
  • JOBS_BY_USER
  • JOBS_TIMELINE_BY_ORGANIZATION
  • JOBS_TIMELINE_BY_FOLDER
  • JOBS_TIMELINE_BY_PROJECT
  • JOBS_TIMELINE_BY_USER
  • RESERVATION_CHANGES_BY_PROJECT
  • RESERVATIONS_PROJECT
  • STREAMING_TIMELINE_BY_ORGANIZATION
  • STREAMING_TIMELINE_BY_FOLDER
  • STREAMING_TIMELINE_BY_PROJECT
  • SCHEMATA
  • SCHEMATA_OPTIONS

限制

BigQuery INFORMATION_SCHEMA 存在以下限制:

  • BigQuery INFORMATION_SCHEMA 查询必须采用标准 SQL 语法。INFORMATION_SCHEMA 不支持旧版 SQL。
  • 系统不缓存 INFORMATION_SCHEMA 查询结果。
  • 目前,INFORMATION_SCHEMA 不能用于检索分区表中分区上的元数据。
  • 目前,INFORMATION_SCHEMA 视图不能用于 DDL 语句。