如何通过单条BigQuery查询获取项目内所有BQ表的标签?
获取BigQuery项目所有表标签的高效方法
你可以通过查询INFORMATION_SCHEMA.TABLE_OPTIONS视图批量获取所有表的标签,这个视图包含表的各类配置选项,其中就包含标签信息,比遍历单表的API调用效率高得多。
单数据集查询示例
SELECT table_catalog AS project_id, table_schema AS dataset_id, table_name, REGEXP_EXTRACT(option_name, r'labels\.(.*)') AS label_key, option_value AS label_value FROM `[你的项目ID].[数据集ID].INFORMATION_SCHEMA.TABLE_OPTIONS` WHERE option_name LIKE 'labels.%'
全项目跨数据集查询示例
如果要一次性获取项目内所有数据集的表标签,可使用通配符匹配所有数据集:
SELECT table_catalog AS project_id, table_schema AS dataset_id, table_name, REGEXP_EXTRACT(option_name, r'labels\.(.*)') AS label_key, option_value AS label_value FROM `[你的项目ID].*.INFORMATION_SCHEMA.TABLE_OPTIONS` WHERE option_name LIKE 'labels.%'
说明
option_name字段以labels.为前缀,后续是具体标签键,用REGEXP_EXTRACT可提取纯标签键名称- 该查询会一次性返回符合条件的所有表标签,无需逐个遍历表,大幅提升获取效率
内容的提问来源于stack exchange,提问作者Max
相关产品推荐
相关产品推荐

