在所有项目中查找 Bigquery 表大小

Posted

技术标签:

【中文标题】在所有项目中查找 Bigquery 表大小【英文标题】:Finding Bigquery table size across all projects 【发布时间】:2019-05-08 14:31:13 【问题描述】:

我们正在 Bigquery 中维护一个表,该表从 Stack 驱动程序日志中捕获所有活动日志。该表帮助我列出了所有存在的表、用户、创建表的人、在表上运行的最后一个命令等跨组织中的项目和数据集。除了这些信息,我还想要我要检查的表的表大小。

我可以加入 TABLESTABLE_SUMMARY 但是我需要明确指定要查询的项目和数据集,但我的驱动表包含多个项目的详细信息和数据集。

是否有任何其他元数据表我可以从中获取表大小,或者我可以加载到 Bigquery 表中以加入并获得所需结果的任何日志

【问题讨论】:

【参考方案1】:

您可以使用 bq 命令行工具。与the command:

bq show --format=prettyjson

这提供了 numBytes、datasetId、projectId 等。 您可以使用脚本:

bq ls

并遍历每个项目中的数据集和表以获取所需的信息。请记住,您还可以使用 API 或客户端库。

【讨论】:

我想从任何元数据表或我可以加载到表中的一些日志中获取信息。但是,似乎没有包含该信息的日志或表格。我想我将不得不创建一个单独的进程来循环遍历项目和表的列表,以使用“bq ls”或“TABLES”获取信息并填充一个单独的表,该表可用于加入。谢谢内森

以上是关于在所有项目中查找 Bigquery 表大小的主要内容,如果未能解决你的问题,请参考以下文章

在 BigQuery 中结合聚合和分析功能以减小表大小

2 TB+ 大小表的 Bigquery Redshift 迁移

BigQuery - 集群表不使用多个键减少查询大小

与 BigQuery 表输入大小相比,为啥我的 PCollection (SCollection) 大小如此之大?

BigQuery - 使用更改/删除的记录更新表

在聚集字段上使用 WHERE 子句运行查询时,Google BigQuery 聚集表不会减少查询大小