【发布时间】:2016-03-26 07:13:02
【问题描述】:
我有多个数据集,每个数据集在 Google BigQuery 中有数百个表。我想删除一些旧的遗留数据,并且我正在寻找最方便的方法来了解我的每个数据集和表占用了多少存储空间,以便我可以就可以删除的数据集/表做出明智的决定。
我尝试使用bq 命令行工具,但找不到显示表存储和整个数据集存储相关信息的方法。
【问题讨论】:
标签: google-bigquery
我有多个数据集,每个数据集在 Google BigQuery 中有数百个表。我想删除一些旧的遗留数据,并且我正在寻找最方便的方法来了解我的每个数据集和表占用了多少存储空间,以便我可以就可以删除的数据集/表做出明智的决定。
我尝试使用bq 命令行工具,但找不到显示表存储和整个数据集存储相关信息的方法。
【问题讨论】:
标签: google-bigquery
您可以使用 TABLES 元表访问有关数据集中表的元数据。即和示例:
select * from [publicdata:samples.__TABLES__]
返回
project_id dataset_id table_id creation_time last_modified_time row_count size_bytes type
publicdata samples github_nested 1348782587310 1348782587310 2541639 1694950811 1
publicdata samples github_timeline 1335915950690 1335915950690 6219749 3801936185 1
publicdata samples gsod 1335916040125 1440625349328 14420316 17290009238 1
publicdata samples natality 1335916045005 1440625330604 37826763 23562717384 1
publicdata samples shakespeare 1335916045099 1440625429551 164656 6432064 1
publicdata samples trigrams 1335916127449 1445684180324 68051509 277168458677 1
publicdata samples wikipedia 1335916132870 1445689914564 13797035 38324173849 1
【讨论】:
下面是一个示例,说明如何将元数据的使用(如 @Moshapasumansky 的回答)与可视化(如 @DoITInternational 的推荐)结合起来,并且所有这些都无需离开 BigQuery Web UI,但您需要 BigQuery Mate Chrome 扩展程序
假设您有扩展 - 请按照以下步骤操作:
第 1 步 - Run Query 针对 publicdata:samples 数据集中的表元数据
SELECT
table_id,
DATE(TIMESTAMP(creation_time/1000)) AS Created,
DATE(TIMESTAMP(last_modified_time/1000)) AS Modified,
row_count AS Rows,
ROUND(size_bytes/POW(1024, 3)) AS GB
FROM [publicdata:samples.__TABLES__]
第 2 步 - 移至 JSON 查看
第 3 步 - 单击 + 按钮展开结果面板
这有两个原因:
第 4 步 - 关闭查询编辑器(可选) - 为图表提供更多空间
第 5 步 - 点击 Show Pivot 以使用 Result 中的数据启动 Pivot/Chart Tool,然后按照您喜欢的方式设计您的数据透视图(如下面的屏幕截图所示)
这可能不是最好的方法 - 但至少它允许你在这里做你想做的事情而无需离开 web ui。在某些情况下,我认为它可能是首选。
【讨论】:
我可以建议使用 BQdu or BigQuery Disk Usage 网络应用程序,而不是使用 BigQuery API(特别是 Tables: get 方法)并在响应中查看 numBytes。它将扫描您的项目中的数据集和表,并显示这个漂亮的可视化,提及每个表(或整个数据集)消耗了多少存储空间。
【讨论】: