使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

BigQuery INFORMATION_SCHEMA 简介

BigQuery INFORMATION_SCHEMA 视图是系统定义的只读视图,提供有关 BigQuery 对象的元数据信息。下表列出了您可以查询以检索元数据信息的所有 INFORMATION_SCHEMA 视图:

资源类型 INFORMATION_SCHEMA 视图
访问权限控制机制 OBJECT_PRIVILEGES
BI 预留 BI_CAPACITIES
BI_CAPACITY_CHANGES
配置选项 EFFECTIVE_PROJECT_OPTIONS
ORGANIZATION_OPTIONS
PROJECT_OPTIONS
数据集 SCHEMATA
SCHEMATA_LINKS
SCHEMATA_OPTIONS
索引元数据 SEARCH_INDEXES
SEARCH_INDEXES_COLUMNS
作业元数据 JOBS_BY_PROJECT
JOBS_BY_USER
JOBS_BY_FOLDER
JOBS_BY_ORGANIZATION
作业元数据(按时间片) JOBS_TIMELINE_BY_PROJECT
JOBS_TIMELINE_BY_USER
JOBS_TIMELINE_BY_FOLDER
JOBS_TIMELINE_BY_ORGANIZATION
预留元数据 RESERVATIONS_BY_PROJECT
RESERVATION_CHANGES_BY_PROJECT
RESERVATIONS_TIMELINE_BY_PROJECT
ASSIGNMENTS_BY_PROJECT
ASSIGNMENT_CHANGES_BY_PROJECT
CAPACITY_COMMITMENTS_BY_PROJECT
CAPACITY_COMMITMENT_CHANGES_BY_PROJECT
例程 ROUTINES
例程选项 ROUTINE_OPTIONS
例程参数 PARAMETERS
会话元数据 SESSIONS_BY_PROJECT
SESSIONS_BY_USER
流式数据 STREAMING_TIMELINE_BY_PROJECT
STREAMING_TIMELINE_BY_FOLDER
STREAMING_TIMELINE_BY_ORGANIZATION
表元数据 TABLES
TABLE_OPTIONS
表列 COLUMNS
COLUMN_FIELD_PATHS
表分区 PARTITIONS
表快照 TABLE_SNAPSHOT
表存储空间用量(当前) TABLE_STORAGE_BY_PROJECT
TABLE_STORAGE_BY_ORGANIZATION
一段时间内的表存储空间用量 TABLE_STORAGE_TIMELINE_BY_PROJECT
TABLE_STORAGE_TIMELINE_BY_ORGANIZATION
视图 VIEWS

对于 *BY_PROJECT 视图,BY_PROJECT 后缀是可选的。例如,查询 INFORMATION_SCHEMA.JOBS_BY_PROJECTINFORMATION_SCHEMA.JOBS 会返回相同的结果。

价格

对于使用按需价格的项目,针对 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;

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

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

区域限定符

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

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

如果存在,则位置限定符会将结果限制在指定区域中。例如,以下查询会返回一个项目在 US 多区域位置中的所有数据集的元数据:

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

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

如果未指定区域限定符和数据集限定符,则会收到错误。

项目限定符

如果存在项目限定符,则会将结果限制为指定的项目。例如:

-- Returns metadata for the specified project and region.
SELECT * FROM myProject.`region-us`.INFORMATION_SCHEMA.TABLES;

-- Returns metadata for the specified project and dataset.
SELECT * FROM myProject.myDataset.INFORMATION_SCHEMA.TABLES;

所有 INFORMATION_SCHEMA 视图都支持项目限定符。如果未指定项目限定符,则视图将默认为将在其中执行查询的项目。

为组织级层视图指定项目限定符(例如 STREAMING_TIMELINE_BY_ORGANIZATIONTABLE_STORAGE_TIMELINE_BY_ORGANIZATION)不会影响结果。

限制

  • BigQuery INFORMATION_SCHEMA 查询必须采用 Google 标准 SQL 语法。INFORMATION_SCHEMA 不支持旧版 SQL。
  • INFORMATION_SCHEMA 查询结果无法缓存。
  • INFORMATION_SCHEMA 视图不能用于 DDL 语句。