BigQuery - 视图
SQL 中的视图是什么?
在 SQL 中,视图是一个虚拟化表,它不包含数据源(如 CSV 文件)的输出,而是包含预执行查询,该查询会在有新数据可用时更新。
由于视图仅包含预过滤的数据,因此它们是减少处理量范围的常用方法,并且还可以减少某些数据源的执行时间。
- 虽然表是数据源的整体,但视图代表已保存查询生成的一部分数据。
- 虽然查询可能会从给定表中选择所有内容,但视图可能仅包含最近一天的数据。
创建 BigQuery 视图
可以通过数据操作语言 (DML) 语句创建 BigQuery 视图 −
CREATE OR REPLACE VIEW project.dataset.view
以下是创建包含 Austin Bikeshare 站点数据的视图定义的示例(来自仅限 2022 年的 BigQuery 同名公共数据集。
或者,BigQuery 用户可以在 BigQuery 用户界面 (UI) 中创建视图。单击数据集后,无需选择"创建表",只需选择"创建视图"。 BigQuery 提供了单独的图标来区分标准表和视图,以便开发人员一眼就能看出区别。
要访问我们上面创建的视图,只需运行 SELECT 语句,就像您用来访问标准表中生成的数据一样。
使用此查询,您将获得一个输出表,如下所示 −
物化视图
除了标准视图外,BigQuery 用户还可以创建物化视图。物化视图位于视图和标准表之间。
BigQuery 文档将物化视图定义为:"[预]重新计算的视图,定期缓存视图查询的结果。缓存的结果存储在 BigQuery 存储中。"
需要注意的是,标准视图不会无限期地存储数据,因此不会产生长期存储费用。