我有多个数据集,每个数据集在Google BigQuery中有数百个表。我想删除一些旧的旧数据,我正在寻找最方便的方法来了解我的每个数据集和表占用多少存储空间,因此我可以根据我可能删除的数据集/表做出明智的决定。
我尝试使用bq
命令行工具,但无法找到显示表存储和整个数据集存储相关信息的方法。
答案 0 :(得分:3)
您可以使用 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
返回
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.local.only=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Djava.rmi.server.hostname=$IP
答案 1 :(得分:1)
下面是如何将元数据的使用(如@Moshapasumansky的回答)与可视化(如@DoITInternational的推荐)以及所有不使用BigQuery Web UI()相结合的示例,但您将需要{{3 Chrome扩展程序
假设你有扩展名 - 请按照以下步骤操作:
步骤1 - Run Query
针对publicdata中的表元数据:samples dataset
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。在某些情况下,我认为它可能是一个首选方案。
答案 2 :(得分:0)
我可以建议使用BQdu or BigQuery Disk Usage网络应用程序,而不是专门使用BigQuery API(Tables: get
方法)并在响应中查看numBytes
。它将扫描您的项目中的数据集和表格,并显示这个漂亮的可视化,提及每个表(或整个数据集)消耗的存储量。