如何通过information_schema查询BigQuery表的所有者及创建者
在BigQuery中通过information_schema查询表的所有者和创建者
查询单个数据集的表信息
使用INFORMATION_SCHEMA.TABLES视图可直接获取表的所有者、创建者及创建时间等元数据,示例SQL如下:
SELECT table_catalog AS project_id, table_schema AS dataset_id, table_name, owner, created_by, creation_time FROM `[你的项目ID].[你的数据集ID].INFORMATION_SCHEMA.TABLES` WHERE table_type = 'BASE TABLE' -- 仅筛选实体表,若需包含视图可移除该条件 ORDER BY creation_time DESC;
查询整个项目下所有数据集的表信息
通过通配符*匹配项目内所有数据集,一次性查询全项目的表元数据:
SELECT table_catalog AS project_id, table_schema AS dataset_id, table_name, owner, created_by, creation_time FROM `[你的项目ID].*.INFORMATION_SCHEMA.TABLES` WHERE table_type = 'BASE TABLE' ORDER BY creation_time DESC;
关键说明
owner字段对应表的当前所有者,created_by字段记录的是最初创建表的用户邮箱- 执行查询前需确保你拥有目标数据集的
bigquery.tables.get权限,否则无法获取对应元数据 - 若要查询视图信息,只需删除
WHERE table_type = 'BASE TABLE'这一行过滤条件
内容的提问来源于stack exchange,提问作者Shubham Santoshwar
相关产品推荐
相关产品推荐

