如何通过BigQuery数据连接器查找关联的Gsheet ID
如何从BigQuery的
sheets_dataconnector_作业ID追溯关联的Google Sheet 以下几种方法可以帮你定位到作业对应的Gsheet:
直接从作业元数据提取Gsheet链接
针对sheets_dataconnector_前缀的加载作业,查询INFORMATION_SCHEMA.JOBS_BY_PROJECT时,额外提取configuration.load.sourceUris字段——这个字段会直接包含关联的Gsheet完整链接。同时结合destinationTable字段,还能对应到BigQuery中存储该数据的表。示例查询:
SELECT job_id, configuration.load.destinationTable.dataset_id AS dataset, configuration.load.destinationTable.table_id AS table_name, configuration.load.sourceUris AS gsheet_urls, statistics.load.input_file_bytes AS data_size_bytes, total_bytes_billed AS cost_bytes FROM `你的项目ID.INFORMATION_SCHEMA.JOBS_BY_PROJECT` WHERE job_id LIKE 'sheets_dataconnector_%' AND job_type = 'LOAD' ORDER BY total_bytes_billed DESC结果里的
gsheet_urls就是对应的Gsheet地址,你可以直接访问验证。通过外部表元数据关联
如果你的Gsheet是作为BigQuery外部表存在的,还可以查询INFORMATION_SCHEMA.EXTERNAL_TABLES来获取所有关联的Gsheet信息,再和作业中的目标表对应:示例查询:
SELECT table_name, external_data_configuration.source_uri AS gsheet_url, external_data_configuration.connection_id AS connection_name FROM `你的项目ID.目标数据集.INFORMATION_SCHEMA.EXTERNAL_TABLES` WHERE external_data_configuration.source_uri LIKE 'gsheets://%'把这里的
table_name和第一个查询里的table_name匹配,就能找到对应Gsheet。结合成本数据快速定位高消耗Gsheet
在第一个查询中,total_bytes_billed和data_size_bytes字段能帮你快速筛选出成本最高的作业,直接定位到消耗最大的Gsheet,优先处理这类资源。
内容的提问来源于stack exchange,提问作者Steven Trimboli
相关产品推荐
相关产品推荐

