视图简介

本页面简要介绍了 BigQuery 中的视图。

简介

视图是由 SQL 查询定义的虚拟表。创建视图时,您可以按照与查询表相同的方式查询视图。在用户查询视图时,查询结果仅包含来自定义视图的查询中指定的表和字段的数据。

您可以使用以下工具在 BigQuery 中查询视图:

您还可以将视图用作可视化工具(如 Google 数据洞察)的数据源。

视图限制

BigQuery 视图存在如下限制:

  • 包含视图的数据集与包含视图所引用表的数据集必须位于相同位置
  • 您无法运行 BigQuery 作业来从视图导出数据。
  • 您无法使用 TableDataList JSON API 方法从视图中检索数据。如需了解详情,请参阅 Tabledata: list
  • 使用视图时,不能混合使用标准 SQL 查询和旧版 SQL 查询。标准 SQL 查询无法引用使用旧版 SQL 语法定义的视图。
  • 您无法在视图中引用查询参数
  • 创建视图时,底层表的架构会与视图一同存储。如果在视图创建后执行列的添加、删除等操作,则在视图更新之前,系统报告的架构可能不准确。 尽管系统报告的架构可能会不准确,但所有已提交的查询都会产生准确的结果。
  • 您无法自动将旧版 SQL 视图更新为标准 SQL 语法。如需修改用于定义视图的查询,请使用 Cloud Console 或经典版 BigQuery 网页界面中的修改查询选项、使用 bq update --view CLI 命令、使用客户端库,或者使用 updatepatch API 方法。
  • 您无法在定义视图的 SQL 查询中使用用户定义的函数。
  • 您无法在通配符表查询中引用视图。

查看配额

如需了解适用于视图的配额和限制,请参阅视图限制

用于定义视图的 SQL 查询还会受到查询作业配额的限制。

视图价格

BigQuery 的视图属于逻辑视图,而非具体化视图。 由于视图并未具体化,因此每次查询视图时,定义视图的查询都会运行。我们会根据顶级查询直接或间接引用的所有表字段中的数据总量来计算查询费用。要了解详情,请参阅查询价格

后续步骤