如何获取雪花数据仓库中模式的总字节大小

Mar*_*Roy 1 size database-schema snowflake-cloud-data-platform

我喜欢SHOW TABLES查询如何返回列出的每个表的行和字节,但不幸的是,SHOW SCHEMAS查询并非如此。

获取模式列表总字节大小的最佳方法是什么?

Mar*_*Roy 6

我设法通过查询做到了这一点information_schema.tables

SELECT
  table_schema AS schema,
  SUM(bytes) AS bytes
FROM information_schema.tables
GROUP BY schema;
Run Code Online (Sandbox Code Playgroud)

请注意,这仅适用于当前数据库,因为每个数据库都有自己的information_schema. 因此,这无法获得数据库列表的大小。但是,可以单独获取每个数据库的总大小:

SELECT SUM(bytes) AS bytes
FROM [database_name].information_schema.tables;
Run Code Online (Sandbox Code Playgroud)

对此的一个很好的补充是使用 UDF 很好地格式化字节大小,就像这里nicebytes示例一样,导致查询。nicebytes(SUM(bytes)) AS bytes