BigQuery - 视图

SQL 中的视图是什么?

SQL 中,视图是一个虚拟化表,它不包含数据源(如 CSV 文件)的输出,而是包含预执行查询,该查询会在有新数据可用时更新。

由于视图仅包含预过滤的数据,因此它们是减少处理量范围的常用方法,并且还可以减少某些数据源的执行时间。

  • 虽然表是数据源的整体,但视图代表已保存查询生成的一部分数据。
  • 虽然查询可能会从给定表中选择所有内容,但视图可能仅包含最近一天的数据。

创建 BigQuery 视图

可以通过数据操作语言 (DML) 语句创建 BigQuery 视图 −

CREATE OR REPLACE VIEW project.dataset.view

以下是创建包含 Austin Bikeshare 站点数据的视图定义的示例(来自仅限 2022 年的 BigQuery 同名公共数据集。

创建 BigQuery 视图

或者,BigQuery 用户可以在 BigQuery 用户界面 (UI) 中创建视图。单击数据集后,无需选择"创建表",只需选择"创建视图"。 BigQuery 提供了单独的图标来区分标准表和视图,以便开发人员一眼就能看出区别。

要访问我们上面创建的视图,只需运行 SELECT 语句,就像您用来访问标准表中生成的数据一样。

创建 BigQuery 视图

使用此查询,您将获得一个输出表,如下所示 −

创建 BigQuery 视图

物化视图

除了标准视图外,BigQuery 用户还可以创建物化视图。物化视图位于视图和标准表之间。

BigQuery 文档将物化视图定义为:"[预]重新计算的视图,定期缓存视图查询的结果。缓存的结果存储在 BigQuery 存储中。"

需要注意的是,标准视图不会无限期地存储数据,因此不会产生长期存储费用。