TABLE_STORAGE_BY_ORGANIZATION 视图
INFORMATION_SCHEMA.TABLE_STORAGE_BY_ORGANIZATION
视图包含与当前项目关联的整个组织的每个表或具体化视图对应的一行。此表中的数据不会实时保留,可能会延迟几秒钟到几分钟。
表存储视图为您提供一种便捷的方法来观察当前存储空间消耗情况,并且还提供了有关存储空间是使用逻辑未压缩字节、物理压缩字节还是时间旅行字节的详细信息。这些信息可以帮助您完成规划未来发展和了解表的更新模式等任务。
*_BYTES
列中包含的数据
表存储视图中的 *_BYTES
列包含您的存储空间用量(以字节计)的相关信息。此信息根据具体化视图及以下类型的表的存储空间用量来确定:
- 通过创建和使用表中所述的任何方法创建的永久表。
- 通过会话创建的临时表。系统会将这些表放入具有生成名称(如“_c018003e063d09570001ef33ae401fad6ab92a6a”)的数据集中。
- 多语句查询(“脚本”)中创建的临时表。系统会将这些表放入具有生成名称(如“_script72280c173c88442c3a7200183a50eeeaa4073719”)的数据集中。
查询结果缓存中存储的数据不会产生费用,因此不会计入 *_BYTES
列的值。
克隆和快照会显示 *_BYTES
列值,就像它们是完整的表一样,而不是显示基表所占用存储空间的增量,因此这些值是过高的估计值。您的账单会正确反映存储空间用量的增量。 如需详细了解克隆和快照存储和计费的增量字节数,请参阅 TABLE_STORAGE_USAGE_TIMELINE
视图。
预测存储空间结算
如需预测数据集的每月存储结算费用,您可以使用此视图中的 logical
或 physical *_BYTES
列,具体取决于数据集使用的数据集存储计费模型。请注意,这只是粗略的预测值,确切的结算金额根据 BigQuery 存储结算基础架构的使用情况并在 Cloud Billing 中显示计算得出。
对于使用逻辑结算模式的数据集,您可以按如下方式预测未来的每月存储费用:
((ACTIVE_LOGICAL_BYTES
值 / POW
(1024, 3)) * 活跃逻辑字节价格) + ((LONG_TERM_LOGICAL_BYTES
值 / POW
(1024, 3)) * 长期逻辑字节价格)
表的 ACTIVE_LOGICAL_BYTES
值反映了该表当前使用的活跃字节数。
对于使用物理计费模型的数据集,您可以按如下方式预测存储费用:
((ACTIVE_PHYSICAL_BYTES + FAIL_SAFE_PHYSICAL_BYTES
值 / POW
(1024, 3)) * 活跃物理字节价格) + ((LONG_TERM_PHYSICAL_BYTES
值 / POW
(1024, 3)) * 长期物理字节价格)
表的 ACTIVE_PHYSICAL_BYTES
值反映了该表当前使用的活跃字节数,加上该表用于时间旅行的字节数。
如需单独查看表的活跃字节数,请从 ACTIVE_PHYSICAL_BYTES
值中减去 TIME_TRAVEL_PHYSICAL_BYTES
值。
如需了解详情,请参阅存储价格。
所需权限
如需查询 INFORMATION_SCHEMA.TABLE_STORAGE_BY_ORGANIZATION
视图,您需要拥有您的组织的以下 Identity and Access Management (IAM) 权限:
bigquery.tables.get
bigquery.tables.list
以下每个预定义的 IAM 角色均可提供上述权限:
roles/bigquery.admin
roles/bigquery.dataViewer
roles/bigquery.dataEditor
roles/bigquery.metadataViewer
此架构视图仅可供已定义 Google Cloud 组织的用户使用。
如需详细了解 BigQuery 权限,请参阅使用 IAM 进行访问权限控制。
架构
INFORMATION_SCHEMA.TABLE_STORAGE_BY_ORGANIZATION
视图具有如下架构:
列名 | 数据类型 | 值 |
---|---|---|
PROJECT_ID |
STRING |
该数据集所属项目的项目 ID |
TABLE_CATALOG |
STRING |
该数据集所属项目的项目 ID |
PROJECT_NUMBER |
INT64 |
该数据集所属项目的项目编号 |
TABLE_SCHEMA |
STRING |
包含表或具体化视图的数据集的名称,也称为 datasetId |
TABLE_NAME |
STRING |
表或具体化视图的名称,也称为 tableId |
CREATION_TIME |
TIMESTAMP |
表的创建时间 |
DELETED |
BOOLEAN |
指示表是否已删除 |
STORAGE_LAST_MODIFIED_TIME |
TIMESTAMP |
数据写入表的最近时间。 |
TOTAL_ROWS |
INT64 |
表或具体化视图中的总行数 |
TOTAL_PARTITIONS |
INT64 |
表或具体化视图中存在的分区数量。未分区表会返回 0。 |
TOTAL_LOGICAL_BYTES |
INT64 |
表或具体化视图中的逻辑(非压缩)字节总数 |
ACTIVE_LOGICAL_BYTES |
INT64 |
存在时间不超过 90 天的逻辑(非压缩)字节数 |
LONG_TERM_LOGICAL_BYTES |
INT64 |
存在时间超过 90 天的逻辑(非压缩)字节数 |
TOTAL_PHYSICAL_BYTES |
INT64 |
用于存储的物理(压缩)字节总数,包括活跃、长期和时间旅行(已删除或已更改的数据)字节数 |
ACTIVE_PHYSICAL_BYTES |
INT64 |
存在时间短于 90 天的物理(压缩)字节数,包括时间旅行(删除或更改的数据)字节 |
LONG_TERM_PHYSICAL_BYTES |
INT64 |
存在时间超过 90 天的物理(非压缩)字节数 |
TIME_TRAVEL_PHYSICAL_BYTES |
INT64 |
时间旅行存储(删除或更改的数据)使用的物理(非压缩)字节数 |
FAIL_SAFE_PHYSICAL_BYTES |
INT64 |
故障安全存储(删除或更改的数据)使用的物理(非压缩)字节数 |
TABLE_TYPE |
STRING |
表的类型。 例如,“EXTERNAL”或“BASE TABLE” |
范围和语法
针对此视图的查询必须包含区域限定符。下表说明了此视图的区域范围:
视图名称 | 资源范围 | 区域范围 |
---|---|---|
[`PROJECT_ID`.]`region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_BY_ORGANIZATION |
包含指定项目的组织 | REGION |
- 可选:
PROJECT_ID
:您的 Google Cloud 项目的 ID。如果未指定,则使用默认项目。 REGION
:任何数据集区域名称。例如region-us
。
以下示例演示了如何返回组织内指定项目中的表的存储信息:
SELECT * FROM `myProject`.`region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_BY_ORGANIZATION;
以下示例展示了如何按项目返回组织中表的存储空间信息:
SELECT * FROM `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_BY_ORGANIZATION;
示例
以下示例展示了组织中哪些项目目前使用的存储空间最多。
SELECT project_id, SUM(total_logical_bytes) AS total_logical_bytes FROM `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_BY_ORGANIZATION GROUP BY project_id ORDER BY total_logical_bytes DESC;
结果类似于以下内容:
+---------------------+---------------------+ | project_id | total_logical_bytes | +---------------------+---------------------+ | projecta | 971329178274633 | +---------------------+---------------------+ | projectb | 834638211024843 | +---------------------+---------------------+ | projectc | 562910385625126 | +---------------------+---------------------+