SCHEMATA_OPTIONS 视图
对于在项目内每个数据集中设置的每个选项,INFORMATION_SCHEMA.SCHEMATA_OPTIONS
视图都包含与之对应的一行。
准备工作
如需查询数据集元数据的 SCHEMATA_OPTIONS
视图,您需要拥有项目级层的 bigquery.datasets.get
Identity and Access Management (IAM) 权限。
以下每个预定义的 IAM 角色均可提供获取 SCHEMATA_OPTIONS
视图所需的权限:
roles/bigquery.admin
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.dataViewer
如需详细了解 BigQuery 权限,请参阅使用 IAM 进行访问权限控制。
架构
当您查询INFORMATION_SCHEMA.SCHEMATA_OPTIONS
视图时,在项目内每个数据集中设置的每个选项都会有一行对应的查询结果。
INFORMATION_SCHEMA.SCHEMATA_OPTIONS
视图具有如下架构:
列名 | 数据类型 | 值 |
---|---|---|
CATALOG_NAME |
STRING |
包含数据集的项目的名称 |
SCHEMA_NAME |
STRING |
数据集的名称,也称为 datasetId |
OPTION_NAME |
STRING |
选项的名称。如需查看受支持的选项列表,请参阅架构选项列表。
|
OPTION_TYPE |
STRING |
选项的数据类型 |
OPTION_VALUE |
STRING |
选项的值 |
范围和语法
针对此视图的查询必须包含区域限定符。如果您未指定区域限定符,则系统会从美国区域检索元数据。 下表说明了此视图的区域范围:
视图名称 | 资源范围 | 区域范围 |
---|---|---|
[PROJECT_ID.]INFORMATION_SCHEMA.SCHEMATA_OPTIONS |
项目级 | 美国区域 |
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS |
项目级 | REGION |
可选:PROJECT_ID
:您的 Google Cloud 项目的 ID。如果未指定,则使用默认项目。
REGION
:任何数据集区域名称。例如 `region-us`
。
示例
-- Returns metadata for datasets in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.SCHEMATA_OPTIONS;
示例
检索项目中所有数据集的默认表到期时间
如需对非默认项目运行查询,请按以下格式将相应的项目 ID 添加到数据集:
`PROJECT_ID`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS
`myproject`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS
。
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA_OPTIONS WHERE option_name = 'default_table_expiration_days';
结果类似于以下内容:
+----------------+---------------+-------------------------------+-------------+---------------------+ | catalog_name | schema_name | option_name | option_type | option_value | +----------------+---------------+-------------------------------+-------------+---------------------+ | myproject | mydataset3 | default_table_expiration_days | FLOAT64 | 0.08333333333333333 | | myproject | mydataset2 | default_table_expiration_days | FLOAT64 | 90.0 | | myproject | mydataset1 | default_table_expiration_days | FLOAT64 | 30.0 | +----------------+---------------+-------------------------------+-------------+---------------------+
检索项目中所有数据集的标签
如需对非默认项目运行查询,请按以下格式将项目 ID 添加到数据集:
`PROJECT_ID`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS
`myproject`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS
。
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA_OPTIONS WHERE option_name = 'labels';
结果类似于以下内容:
+----------------+---------------+-------------+---------------------------------+------------------------+ | catalog_name | schema_name | option_name | option_type | option_value | +----------------+---------------+-------------+---------------------------------+------------------------+ | myproject | mydataset1 | labels | ARRAY<STRUCT<STRING, STRING>> | [STRUCT("org", "dev")] | | myproject | mydataset2 | labels | ARRAY<STRUCT<STRING, STRING>> | [STRUCT("org", "dev")] | +----------------+---------------+-------------+---------------------------------+------------------------+