Google bigquery 如何查找Google BigQuery数据集大小,而不是表大小?

Google bigquery 如何查找Google BigQuery数据集大小,而不是表大小?,google-bigquery,Google Bigquery,我可以在BigQuery中看到表的元数据详细信息,但对于项目估计,我希望看到整个数据集的元数据 SELECT * From 'dataset'._TABLES_SUMMARY_WHERE size_bytes>0 isn't working for me. 前面的答案是正确的,但我想扩展答案 在BigQuery StandardSQL上,您可以按数据集查询大小,如下所示: SELECT dataset_id, count(*) AS tables, SUM(row_count

我可以在BigQuery中看到表的元数据详细信息,但对于项目估计,我希望看到整个数据集的元数据

SELECT * From 'dataset'._TABLES_SUMMARY_WHERE size_bytes>0 isn't working for me.

前面的答案是正确的,但我想扩展答案

在BigQuery StandardSQL上,您可以按数据集查询大小,如下所示:

SELECT
  dataset_id,
  count(*) AS tables,
  SUM(row_count) AS total_rows,
  SUM(size_bytes) AS size_bytes
FROM ( 
  SELECT * FROM `dataset1.__TABLES__` UNION ALL
  SELECT * FROM `dataset2.__TABLES__` UNION ALL
  ...
)
GROUP BY 1
ORDER BY size_bytes DESC
不幸的是,我没有找到一种方法来列出项目所有数据集的所有表。相反,我使用
bq
命令行生成所有
SELECT。。。联合所有
语句:

bq ls --format=json | jq -r '.[] | select(.location == "EU") | .id' | sed 's/:/./' | sed 's/\(.*\)/SELECT * FROM `\1.__TABLES__` UNION ALL/'

不…我得到以下错误:在第3行第1列遇到“FROM”中的“FROM”。预期:??上述建议代码中没有第3行!您能否显示您正在运行的确切查询?顺便说一句,您是否用实际数据集替换了“yourdataset”?请确保将数据集/表名用bqsql引号([和])括起来。我把它们添加到上面的答案中。没有方括号对我有效,但没有with@Russ960-答案是2015年给出的,适用于遗留SQL!当时,BigQuery还不支持标准SQL。现在它有了!!!因此,如果使用标准SQL,请使用反勾号而不是方括号!这个答案完美地帮助我计算项目中的所有字节。非常感谢。我希望它计算的数量级正确:)。使用
bq--project\u id=可以选择特定的项目。通过这种方式,我计算了5个项目的数字。有没有办法获得表格的逐月统计数据???
bq ls --format=json | jq -r '.[] | select(.location == "EU") | .id' | sed 's/:/./' | sed 's/\(.*\)/SELECT * FROM `\1.__TABLES__` UNION ALL/'