如何查询BigQuery视图和表的依赖关系?

Ben*_*min 4 google-bigquery

在 BigQuery 上构建了许多 SQL 视图作为报告后,我发现自己需要识别视图和表的依赖关系。

我如何查询:“列出依赖于视图/表T的所有视图?”

Que*_*ash 5

您可以运行以下查询来列出所有视图,这可以在单个数据集的基础上完成。当然,如果您有一组数据集,您可以为每个数据集创建一个 UNION ALL 查询来组合结果。

SELECT *
FROM dataset_name.INFORMATION_SCHEMA.VIEWS
WHERE REGEXP_CONTAINS(view_definition, 'dataset_name.table_name')
Run Code Online (Sandbox Code Playgroud)

替换上面查询中的dataset_nameand 。table_name

view_definition架构表中包含创建视图的实际 SQL 代码。因此,我们本质上只是在该字段中搜索表名称,如果您正在查找视图中使用的视图,同样会起作用。