表简介
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 中表的访问权限,请参阅表访问权限控制简介。