SCHEMATA 视图
INFORMATION_SCHEMA.SCHEMATA
视图提供有关项目或区域中的数据集的信息。视图会为每个数据集返回一行。
准备工作
要查询数据集元数据的 SCHEMATA
视图,您需要拥有项目级层的 bigquery.datasets.get
Identity and Access Management (IAM) 权限。
以下每个预定义 IAM 角色都包含获取 SCHEMATA
视图所需的权限:
roles/bigquery.admin
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.dataViewer
如需详细了解 BigQuery 权限,请参阅使用 IAM 进行访问权限控制。
架构
当您查询INFORMATION_SCHEMA.SCHEMATA
视图时,指定项目中的每个数据集都会有一行对应的查询结果。
INFORMATION_SCHEMA.SCHEMATA
视图具有如下架构:
列名 | 数据类型 | 值 |
---|---|---|
CATALOG_NAME |
STRING |
包含数据集的项目的名称 |
SCHEMA_NAME |
STRING |
数据集的名称(也称为 datasetId ) |
SCHEMA_OWNER |
STRING |
值始终为 NULL |
CREATION_TIME |
TIMESTAMP |
数据集的创建时间 |
LAST_MODIFIED_TIME |
TIMESTAMP |
数据集的上次修改时间 |
LOCATION |
STRING |
数据集的地理位置 |
DDL |
STRING |
可用于创建数据集的 CREATE SCHEMA DDL 语句 |
DEFAULT_COLLATION_NAME |
STRING |
默认排序规则规范的名称(如果存在),否则为 NULL 。 |
范围和语法
针对此视图的查询必须包含区域限定符。如果您未指定区域限定符,则系统会从美国区域检索元数据。 下表说明了此视图的区域范围:
视图名称 | 资源范围 | 区域范围 |
---|---|---|
[PROJECT_ID.]INFORMATION_SCHEMA.SCHEMATA |
项目级 | 美国区域 |
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.SCHEMATA |
项目级 | REGION |
可选:PROJECT_ID
:您的 Google Cloud 项目的 ID。如果未指定,则使用默认项目。
REGION
:任何数据集区域名称。例如 `region-us`
。
示例
-- Returns metadata for datasets in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.SCHEMATA;
示例
如需对非默认项目运行查询,请按以下格式将相应的项目 ID 添加到数据集:
`PROJECT_ID`.INFORMATION_SCHEMA.SCHEMATA
`myproject`.INFORMATION_SCHEMA.SCHEMATA
。
SELECT * EXCEPT (schema_owner) FROM INFORMATION_SCHEMA.SCHEMATA;
结果类似于以下内容。为改善可读性,结果中没有保留某些列。
+----------------+---------------+---------------------+---------------------+------------+------------------------------------------+ | catalog_name | schema_name | creation_time | last_modified_time | location | ddl | +----------------+---------------+---------------------+---------------------+------------+------------------------------------------+ | myproject | mydataset1 | 2018-11-07 19:50:24 | 2018-11-07 19:50:24 | US | CREATE SCHEMA `myproject.mydataset1` | | | | | | | OPTIONS( | | | | | | | location="us" | | | | | | | ); | +----------------+---------------+---------------------+---------------------+------------+------------------------------------------+ | myproject | mydataset2 | 2018-07-16 04:24:22 | 2018-07-16 04:24:22 | US | CREATE SCHEMA `myproject.mydataset2` | | | | | | | OPTIONS( | | | | | | | default_partition_expiration_days=3.0, | | | | | | | location="us" | | | | | | | ); | +----------------+---------------+---------------------+---------------------+------------+------------------------------------------+ | myproject | mydataset3 | 2018-02-07 21:08:45 | 2018-05-01 23:32:53 | US | CREATE SCHEMA `myproject.mydataset3` | | | | | | | OPTIONS( | | | | | | | description="My dataset", | | | | | | | location="us" | | | | | | | ); | +----------------+---------------+---------------------+---------------------+------------+------------------------------------------+