表简介

BigQuery 表包含按行整理的各条记录。每条记录都由列(也称为字段)组成

每个表由描述列名、数据类型和其他信息的架构进行定义。您可以在创建表时指定表的架构,也可以在不使用架构的情况下创建表,然后在首次使用数据填充表的查询作业或加载作业中声明架构。

使用 GoogleSQL 时,请使用 projectname.datasetname.tablename 格式来完全限定表名称;使用 bq 命令行工具时,请使用 projectname:datasetname.tablename 格式来完全限定表名称。

表类型

以下部分介绍了 BigQuery 支持的表类型。

  • 标准 BigQuery 表:存储在 BigQuery 存储空间中的结构化数据。
  • 外部表:引用存储在 BigQuery 外部的数据的表。
  • 视图:使用 SQL 查询创建的逻辑表。

标准 BigQuery 表

标准 BigQuery 表包含结构化数据,以列式格式存储在 BigQuery 存储空间中。 其中包括以下类型:

  • 具有架构的表,架构中的每一列都有一个数据类型。

    如需了解如何创建表,请参阅创建表

  • 表克隆,这是 BigQuery 表的轻量级可写副本。BigQuery 仅存储表克隆与其基表之间的增量。

    如需了解如何创建表克隆,请参阅创建表克隆

  • 表快照,这是表的时间点副本。表快照是只读的,但您可以从表快照恢复表。BigQuery 存储快照与其基表之间不同的字节,因此表快照使用的存储空间通常少于表的完整副本。

    如需了解如何创建表快照,请参阅创建表快照

外部表

外部表存储在 BigQuery 存储空间之外,并引用存储在 BigQuery 之外的数据。如需了解详情,请参阅外部数据源简介。 外部表包括以下类型:

  • BigLake 表:引用 Cloud Storage、Amazon Simple Storage Service (Amazon S3) 和 Azure Blob Storage 等数据存储区中存储的结构化数据。您可以通过这些表在表级层强制执行精细的安全性设置。

    如需了解如何创建 BigLake 表,请参阅以下主题:

  • 对象表,引用存储在 Cloud Storage 等数据存储区中的非结构化数据。

    如需了解如何创建对象表,请参阅创建对象表

  • 非 BigLake 外部表:引用存储在 Cloud Storage、Google 云端硬盘和 Bigtable 等数据存储区中的结构化数据。与 BigLake 表不同,这些表不允许您在表级层强制执行精细的安全性设置。

    如需了解如何创建非 BigLake 外部表,请参阅以下主题:

视图

视图是使用 SQL 查询定义的逻辑表。其中包括以下类型:

  • 视图,即使用 SQL 查询定义的逻辑表。这些查询定义每次查询视图时运行的视图。

    如需了解如何创建视图,请参阅创建视图

  • 具体化视图,这是预计算视图,可定期缓存视图查询结果。缓存的结果存储在 BigQuery 存储空间中。

    如需了解如何创建物化视图,请参阅创建物化视图

表限制

BigQuery 表受到以下限制:

  • 每个数据集中的表名称必须是唯一的。
  • 导出 BigQuery 表数据时,唯一支持的目标是 Cloud Storage。
  • 使用 API 调用时,当数据集中的表接近 50000 张时,枚举性能会变慢。
  • Google Cloud 控制台最多可为每个数据集显示 50000 个表。

如需了解 BigQuery 外部表限制,请参阅以下主题:

表配额

配额和限制适用于可对表运行的不同类型的作业,包括以下配额:

如需了解所有配额和限制的详情,请参阅配额和限制

表价格

在 BigQuery 中创建和使用表时,您的费用取决于表和分区中存储的数据量以及对表数据运行的查询:

很多表操作是免费的,包括数据的加载、复制和导出操作。这些操作虽然免费,但是受 BigQuery 配额和限制的约束。如需了解所有免费操作,请参阅价格页面上的免费操作

表安全性

如需控制对 BigQuery 中表的访问权限,请参阅表访问权限控制简介

后续步骤