計算系統數據表參考
重要
這項功能處於公開預覽狀態。
本文提供計算系統數據表的概觀,包括架構和範例查詢。 現在有兩個叢集系統資料表可供使用: clusters
和 node_types
。
叢集數據表架構
叢集數據表是一個緩時變維度數據表,其中包含所有用途和作業叢集的叢集組態完整歷程記錄。
叢集系統數據表位於 system.compute.clusters
,且具有下列架構:
資料行名稱 | 資料類型 | 描述 | 範例 |
---|---|---|---|
account_id |
字串 | 建立此叢集之帳戶的標識碼。 | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
字串 | 建立此叢集的工作區標識碼。 | 1234567890123456 |
cluster_id |
字串 | 此記錄相關聯之叢集的標識碼。 | 0000-123456-xxxxxxxx |
cluster_name |
字串 | 叢集的使用者定義名稱。 | My cluster |
owned_by |
字串 | 叢集擁有者的用戶名稱。 默認為叢集建立者,但可透過 叢集 API 進行變更。 | sample_user@email.com |
create_time |
timestamp | 此計算定義的變更時間戳。 | 2023-01-09 11:00:00.000 |
delete_time |
timestamp | 刪除叢集時的時間戳。 如果叢集未刪除,則值為 null 。 |
2023-01-09 11:00:00.000 |
driver_node_type |
字串 | 驅動程式節點類型名稱。 這符合雲端提供者的實例類型名稱。 | Standard_D16s_v3 |
worker_node_type |
字串 | 背景工作節點類型名稱。 這符合雲端提供者的實例類型名稱。 | Standard_D16s_v3 |
worker_count |
bigint | 背景工作角色數目。 僅針對固定大小的叢集定義。 | 4 |
min_autoscale_workers |
bigint | 設定背景工作角色數目下限。 此欄位僅適用於自動調整叢集。 | 1 |
max_autoscale_workers |
bigint | 設定背景工作角色數目上限。 此欄位僅適用於自動調整叢集。 | 1 |
auto_termination_minutes |
bigint | 已設定的自動結束持續時間。 | 120 |
enable_elastic_disk |
boolean | 自動調整磁碟啟用狀態。 | true |
tags |
map | 叢集的使用者定義標籤(不包含預設標籤)。 | {"ResourceClass":"SingleNode"} |
cluster_source |
字串 | 指出叢集的建立者:UI 、、、DLT API 、 JOB 等。 |
UI |
init_scripts |
陣列 | init 腳本的路徑集。 | "/Users/example@email.com/files/scripts/install-python-pacakges.sh" |
aws_attributes |
struct | AWS 特定設定。 | null |
azure_attributes |
struct | Azure 特定設定。 | { "first_on_demand": "0", "availability": "ON_DEMAND_AZURE", "spot_bid_max_price": "—1" } |
gcp_attributes |
struct | GCP 特定設定。 此欄位將會是空的。 | null |
driver_instance_pool_id |
字串 | 如果驅動程式設定在實例集區之上,則為實例集區標識碼。 | 1107-555555-crhod16-pool-DIdnjazB |
worker_instance_pool_id |
字串 | 如果背景工作角色設定在實例集區之上,則為實例集區標識碼。 | 1107-555555-crhod16-pool-DIdnjazB |
dbr_version |
字串 | 叢集的 Databricks 運行時間。 | 14.x-snapshot-scala2.12 |
change_time |
timestamp | 計算定義的變更時間戳。 | 2023-01-09 11:00:00.000 |
change_date |
date | 變更日期。 用於保留。 | 2023-01-09 |
節點類型數據表架構
節點類型數據表會擷取目前可用的節點類型及其基本硬體資訊。 節點類型系統資料表位於 system.compute.node_types
,且具有下列架構:
資料行名稱 | 資料類型 | 描述 | 範例 |
---|---|---|---|
account_id |
字串 | 建立此叢集之帳戶的標識碼。 | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
node_type_name |
字串 | 節點類型的唯一標識碼。 | Standard_D16s_v3 |
core_count |
double | 實例的 vCPU 數目。 | 48.0 |
memory_mb |
long | 實例的總記憶體。 | 393216 |
gpu_count |
long | 實例的 GPU 數目。 | 0 |
已知的限制
- 在 2023 年 10 月 23 日之前標示為已刪除的叢集不會出現在叢集數據表中。 這可能會導致來自
system.billing.usage
數據表的聯結不符合叢集數據表中的叢集記錄。 所有作用中的叢集都已回填。 - 叢集數據表只包含所有用途和作業叢集的記錄。 它不包含 Delta Live Tables 叢集或 SQL 倉儲。
範例查詢
您可以使用下列範例查詢來回答叢集的常見問題:
注意
這些範例會將叢集數據表與 數據表聯結 system.billing.usage
。 由於計費記錄是跨區域和叢集記錄區域,因此計費記錄只會符合您要查詢之區域的叢集記錄。 若要查看來自另一個區域的記錄,請在該區域中執行查詢。
使用最新的計費記錄加入叢集記錄
此查詢可協助您瞭解一段時間的花費。 將 更新 usage_start_time
為最新的計費期間之後,它會擷取最新的帳單記錄更新,以加入叢集數據。
每個記錄都會在該特定執行期間與叢集擁有者相關聯。 因此,如果叢集擁有者變更,成本會根據使用叢集的時間匯總到正確的擁有者。
SELECT
u.record_id,
c.cluster_id,
c.owned_by,
c.change_time,
u.usage_start_time,
u.usage_quantity
FROM
system.billing.usage u
JOIN system.compute.clusters c
JOIN (SELECT u.record_id, c.cluster_id, max(c.change_time) change_time
FROM system.billing.usage u
JOIN system.compute.clusters c
WHERE
u.usage_metadata.cluster_id is not null
and u.usage_start_time >= '2023-01-01'
and u.usage_metadata.cluster_id = c.cluster_id
and date_trunc('HOUR', c.change_time) <= date_trunc('HOUR', u.usage_start_time)
GROUP BY all) config
WHERE
u.usage_metadata.cluster_id is not null
and u.usage_start_time >= '2023-01-01'
and u.usage_metadata.cluster_id = c.cluster_id
and u.record_id = config.record_id
and c.cluster_id = config.cluster_id
and c.change_time = config.change_time
ORDER BY cluster_id, usage_start_time desc;
叢集的屬性成本給叢集擁有者
如果您想要降低計算成本,您可以使用此查詢來找出帳戶中的哪些叢集擁有者使用最多的 DBU。
SELECT
u.record_id record_id,
c.cluster_id cluster_id,
max_by(c.owned_by, c.change_time) owned_by,
max(c.change_time) change_time,
any_value(u.usage_start_time) usage_start_time,
any_value(u.usage_quantity) usage_quantity
FROM
system.billing.usage u
JOIN system.compute.clusters c
WHERE
u.usage_metadata.cluster_id is not null
and u.usage_start_time >= '2023-01-01'
and u.usage_metadata.cluster_id = c.cluster_id
and c.change_time <= u.usage_start_time
GROUP BY 1, 2
ORDER BY cluster_id, usage_start_time desc;
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應