使用命令行工具在项目级别获取BigQuery大小的简单方法是什么?

时间:2015-07-07 18:30:32

标签: google-bigquery

想要找到我们整个项目的BigQuery存储大小,我有脚本遍历所有表并总结它们的大小,工作但很慢,是否有一个bq命令我可以轻松地做到这一点?

1 个答案:

答案 0 :(得分:5)

有一个名为__TABLES____TABLES_SUMMARY__

的元表

您可以运行如下查询:

SELECT sum(size_bytes) FROM <dataset>.__TABLES__

该查询的__TABLES__部分可能看起来不熟悉。 __TABLES_SUMMARY__是一个元表,包含有关数据集中表的信息。您可以自己使用此元表。例如,查询SELECT * FROM publicdata:samples.__TABLES_SUMMARY__将返回有关publicdata:samples数据集中表格的元数据。您也可以SELECT * FROM publicdata:samples.__TABLES__

可用字段:

__TABLES_SUMMARY__元表的字段(TABLE_QUERY查询中都可用)包括:

  • table_id:表格的名称。
  • creation_time:表格创建后的时间,自1970年1月1日UTC以来的毫秒数。这与表中的creation_time字段相同。
  • type:无论是视图(2)还是常规表(1)。

TABLE_QUERY()中的以下字段,因为它们是__TABLES__的成员,但不是__TABLES_SUMMARY__的成员。他们留在这里是为了历史,并部分记录__TABLES__ metatable:

  • last_modified_time:自1970年1月1日UTC以来的毫秒,表格已更新(元数据或表格内容)。请注意,如果您使用tabledata.insertAll()将记录流式传输到您的表格,则可能会过时几分钟。
  • row_count:表格中的行数。
  • size_bytes:表格的总大小(以字节为单位)。