在本文中,您將了解如何使用倉庫系統表來監視和管理工作區中的 SQL 資料倉庫。 每個數據列都是目前 SQL 倉儲屬性的快照集。 屬性變更時會建立新的快照集。
倉儲系統數據表位於 system.compute.warehouses。
倉儲數據表架構
| 欄位名稱 | 資料類型 | 描述 | 範例 |
|---|---|---|---|
warehouse_id |
字串 | SQL 倉儲的標識碼。 | 123456789012345 |
workspace_id |
字串 | 部署倉儲之工作區的標識碼。 | 123456789012345 |
account_id |
字串 | Azure Databricks 帳戶的識別碼。 | 7af234db-66d7-4db3-bbf0-956098224879 |
warehouse_name |
字串 | SQL 倉儲的名稱。 | My Serverless Warehouse |
warehouse_type |
字串 | SQL 倉儲的類型。 可能的值為 CLASSIC、PRO和 SERVERLESS。 |
SERVERLESS |
warehouse_channel |
字串 | SQL 倉儲的通道。 可能的值為 CURRENT 和 PREVIEW。 |
CURRENT |
warehouse_size |
字串 | SQL 倉儲的叢集大小。 可能的值為 2X_SMALL、X_SMALL、SMALL、MEDIUM、LARGE、X_LARGE、2X_LARGE、3X_LARGE和 4X_LARGE。 |
MEDIUM |
min_clusters |
整數 (int) | 允許的叢集數目下限。 | 1 |
max_clusters |
整數 (int) | 允許的叢集數目上限。 | 5 |
auto_stop_minutes |
整數 (int) | 由於閑置而自動停止 SQL 倉儲之前的分鐘數。 | 35 |
tags |
地圖 | SQL 倉儲的標籤。 | {"budget":"research"} |
change_time |
時間戳記 | SQL 倉儲定義的變更時間戳。 | 2023-07-20T19:13:09.504Z |
delete_time |
時間戳記 | 刪除 SQL 倉儲時的時間戳。 如果 SQL 倉儲未刪除,則值為 null 。 |
2023-07-20T19:13:09.504Z |
範例查詢
下列範例查詢是範本。 插入任何對您的組織有意義的值。 您也可以將這些查詢新增警示,以協助您隨時了解倉儲的變更。 請參閱 建立警示。
使用下列範例查詢來深入瞭解倉儲行為:
識別所有使用中倉儲的設定
此查詢會識別目前使用中之所有倉儲的設定。
SELECT
warehouse_id,
warehouse_name,
warehouse_type,
warehouse_channel,
warehouse_size,
min_clusters,
max_clusters,
auto_stop_minutes,
tags,
change_time,
delete_time
FROM
system.compute.warehouses
QUALIFY
ROW_NUMBER() OVER (PARTITION BY warehouse_id ORDER BY change_time DESC) = 1
and delete_time is null;
本周建立了哪些倉庫?
此查詢會識別過去七天內建立的倉儲。
SELECT
warehouse_id,
warehouse_name,
warehouse_type,
warehouse_channel,
warehouse_size,
min_clusters,
max_clusters,
auto_stop_minutes,
tags,
change_time as datetime_created,
delete_time
FROM
system.compute.warehouses
QUALIFY
ROW_NUMBER() OVER (PARTITION BY warehouse_id ORDER BY change_time ASC) = 1
and change_time >= DATE_TRUNC('day', CURRENT_DATE) - INTERVAL 7 days
and delete_time is null;