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

Ech*_*cho 2 google-bigquery

想找出整个项目的BigQuery储存空间,我有指令码可遍历所有表格并总结其大小,运作正常但速度较慢,有没有bq指令可以轻松做到?

Pen*_*m10 5

有称为的metatable __TABLES____TABLES_SUMMARY__

您可以运行如下查询:

SELECT sum(size_bytes) FROM <dataset>.__TABLES__
Run Code Online (Sandbox Code Playgroud)

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

可用字段:

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

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

以下字段不可用,TABLE_QUERY()因为它们是__TABLES__而不是的成员__TABLES_SUMMARY__。出于历史考虑,将它们保留在此处并部分记录该__TABLES__元表:

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

  • 我用它来创建这个要点来计算整个项目的大小。您可以在这里找到它,以防它有帮助:https://gist.github.com/orcaman/f5a230bbaa73aceb91a0bf96838b24eb (2认同)