簡體   English   中英

如何獲取雪花數據倉庫中模式的總字節大小

[英]How to get the total byte size of schemas in Snowflake data warehouse

我喜歡SHOW TABLES查詢如何返回列出的每個表的行和字節,但不幸的是, SHOW SCHEMAS查詢並非如此。

獲取模式列表總字節大小的最佳方法是什么?

我通過查詢information_schema.tables設法做到了這一點:

SELECT
  table_schema AS schema,
  SUM(bytes) AS bytes
FROM information_schema.tables
GROUP BY schema;

請注意,這僅適用於當前數據庫,因為每個數據庫都有自己的information_schema 因此,這無法獲得數據庫列表的大小。 但是,可以單獨獲取每個數據庫的總大小:

SELECT SUM(bytes) AS bytes
FROM [database_name].information_schema.tables;

對此的一個很好的補充是使用 UDF 很好地格式化字節大小,就像這里nicebytes示例一樣,導致查詢中的nicebytes(SUM(bytes)) AS bytes

如果您具有 accountadmin 訪問權限或已被授予對帳戶使用情況視圖的訪問權限,您可以嘗試使用 TABLE_STORAGE_METRICS。

select 
TABLE_CATALOG,
TABLE_SCHEMA, 
nicebytes(sum(ACTIVE_BYTES)) ACTIVE_STORAGE, 
nicebytes(sum(TIME_TRAVEL_BYTES)) TIME_TRAVEL_STORAGE, 
nicebytes(sum(FAILSAFE_BYTES)) FAILSAFE_STORAGE
from SNOWFLAKE.ACCOUNT_USAGE.TABLE_STORAGE_METRICS
where TABLE_DROPPED IS NULL
and SCHEMA_DROPPED IS NULL
and CATALOG_DROPPED IS NULL
group by 1,2
order by 1,2,3

這也利用了nicebytes UDF

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM