使用系統數據表監視使用量
重要
這項功能處於公開預覽狀態。 目前沒有使用這項功能的費用。 未來,某些使用量可能會產生費用。
本文說明 Azure Databricks 中的系統數據表概念,並醒目提示可用來充分利用系統數據表數據的資源。
什麼是系統數據表?
系統數據表是目錄中您帳戶作業數據的 system
Azure Databricks 裝載分析存放區。 系統數據表可用於帳戶的歷程記錄可觀察性。
注意
如需 的檔, system.information_schema
請參閱 信息架構。
需求
若要存取系統數據表,您的工作區必須啟用 Unity 目錄。 如需詳細資訊,請參閱 啟用系統數據表架構。
有哪些系統數據表可供使用?
目前,Azure Databricks 會裝載系統數據表:
資料表 | Description | Location | 支援串流 | 保留期 | 包含全域或區域數據 |
---|---|---|---|---|---|
稽核記錄 | 包含您區域中工作區中所有稽核事件的記錄。 如需可用稽核事件的清單,請參閱 診斷記錄參考。 | system.access.audit |
Yes | 365 天 | 工作區層級事件的區域性。 帳戶層級事件的全域。 |
表格譜系 | 在 Unity 目錄資料表或路徑上包含每個讀取或寫入事件的記錄。 | system.access.table_lineage |
Yes | 365 天 | Regional |
數據行譜系 | 在 Unity 目錄資料行上包含每個讀取或寫入事件的記錄(但不包含沒有來源的事件)。 | system.access.column_lineage |
Yes | 365 天 | Regional |
計費使用量 | 包含帳戶中所有可計費使用量的記錄。 每個使用量記錄都是資源計費使用量的每小時匯總。 | system.billing.usage |
Yes | 365 天 | 全球 |
定價 | SKU 定價的歷程記錄。 每次有 SKU 價格變更時,就會新增記錄。 | system.billing.list_prices |
No | N/A | 全球 |
叢集 | 緩時變維度數據表,其中包含任何叢集一段時間內叢集組態的完整歷程記錄。 | system.compute.clusters |
Yes | 無 | Regional |
節點類型 | 使用其基本硬體資訊擷取目前可用的節點類型。 | system.compute.node_types |
No | N/A | Regional |
SQL 倉儲事件 | 擷取與 SQL 倉儲相關的事件。 例如,啟動、停止、執行、相應增加和減少。 | system.compute.warehouse_events |
Yes | 365 天 | Regional |
Marketplace 漏鬥圖事件 | 包含您清單的消費者印象和漏鬥數據。 | system.marketplace.listing_ funnel_events |
Yes | 365 天 | Regional |
Marketplace 清單存取 | 包含已完成 要求數據的 取用者資訊,或 取得清單上的數據 事件。 | system.marketplace.listing_ access_events |
Yes | 365 天 | Regional |
預測性優化 | 追蹤預測優化功能的作業歷程記錄。 | system.storage.predictive_ optimization_operations_history |
No | 180 天 | Regional |
注意
除了上面所列的系統數據表之外,您可能會在您的帳戶中看到其他系統數據表。 這些數據表目前為 Private Preview,預設為空白。 如果您有興趣使用上述任何數據表,請連絡您的 Databricks 帳戶小組。
啟用系統數據表架構
由於系統數據表受到 Unity 目錄的控管,因此您必須在帳戶中至少有一個已啟用 Unity 目錄的工作區,才能啟用和存取系統數據表。 系統數據表包含您帳戶中所有工作區的數據,但只能從已啟用 Unity 目錄的工作區存取這些數據。
系統會在架構層級啟用系統數據表。 如果您啟用系統架構,您可以啟用該架構內的所有資料表。 發行新的架構時,帳戶管理員必須手動啟用架構。
系統數據表必須由帳戶管理員啟用。您可以使用 SystemSchemas API 來啟用系統資料表。
列出可用的系統架構
使用下列 curl 命令以列出可用的系統結構描述:
curl -v -X GET -H "Authorization: Bearer <PAT Token>" "https://adb-<xxx>.azuredatabricks.net/api/2.0/unity-catalog/metastores/<metastore-id>/systemschemas"
以下是命令的 GET
範例輸出:
{"schemas":[{"schema":"access","state":"<AVAILABLE OR EnableCompleted>"},{"schema":"billing","state":"<AVAILABLE OR EnableCompleted>"},{"schema":"information_schema","state":"<AVAILABLE OR EnableCompleted>"}]}
state: AVAILABLE
:系統架構可供使用,但尚未啟用。
state: EnableCompleted
:您已啟用系統架構,而且它會顯示在目錄總管中。
啟用系統架構
使用下列 curl 命令以啟用系統結構描述:
curl -v -X PUT -H "Authorization: Bearer <PAT Token>" "https://adb-<xxx>.azuredatabricks.net/api/2.0/unity-catalog/metastores/<metastore-id>/systemschemas/<SCHEMA_NAME>"
如果成功啟用系統架構,則會傳回結果碼 200
。
如果您嘗試重新啟用系統架構,則會傳回下列專案: "error_code":"SCHEMA_ALREADY_EXISTS","message":"Schema <schema-name> already exists"
。
停用系統架構
使用下列 curl 命令來停用系統架構:
curl -v -X DELETE -H "Authorization: Bearer <PAT Token>" "https://adb-<xxx>.azuredatabricks.net/api/2.0/unity-catalog/metastores/<metastore-id>/systemschemas/<SCHEMA_NAME>"
授與系統數據表的存取權
系統數據表存取是由 Unity 目錄所控管。 根據預設,沒有任何使用者可以存取系統數據表。 若要授與存取權,中繼存放區系統管理員或其他特殊許可權用戶必須授 USE
與系統 SELECT
架構的許可權。 請參閱 在 Unity 目錄中管理許可權。
系統數據表是唯讀的,無法修改。
注意
如果您的帳戶是在 2023 年 11 月 9 日之後建立的,您預設可能沒有中繼存放區管理員。 如需詳細資訊,請參閱 設定和管理 Unity 目錄。
系統數據表是否包含您帳戶中所有工作區的數據?
稽核記錄和譜系數據表包含您帳戶中部署在相同雲端區域中之所有工作區的操作數據。 計費系統數據表 (system.billing.usage
) 包含您帳戶中所有工作區的數據,不論其部署在哪個區域。
即使系統數據表只能透過 Unity 目錄工作區存取,但數據表也會在您的帳戶中包含非 Unity 目錄工作區的操作數據。
系統數據表位於何處?
您的帳戶中的系統數據表位於名為 system
的目錄中,其包含在每個 Unity 目錄中繼存放區中。 在目錄中 system
,您會看到架構,例如 access
和 billing
,其中包含系統數據表。
注意
在系統數據表公開預覽期間,Azure Databricks 會保留所有系統數據表數據。
串流系統數據表的考慮
Delta Sharing 支援系統數據表的存取。 使用差異共用進行串流時,請注意下列考慮:
- 如果您使用串流搭配系統資料表,請將
skipChangeCommit
選項設定為true
。 這可確保串流作業不會中斷系統數據表中的刪除。 請參閱 忽略更新和刪除。 Trigger.AvailableNow
差異共用串流不支援。 它會轉換成Trigger.Once
。- 如果您在串流作業中使用觸發程式,並發現作業未趕上最新的系統數據表版本,Databricks 建議增加作業的排程頻率。
已知問題
目前不支援即時監視。 資料會全天更新。 如果您沒有看到最近的事件記錄,請稍後再返回檢查。
若要啟用系統資料表,您可能需要將網路存取授與系統資料表 Blob 儲存體端點。 若要檢視每個區域系統資料表的記憶體端點清單,請參閱 儲存體 端點 IP 位址。
系統架構
system.operational_data
和system.lineage
已被取代,且將包含空的數據表。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應