系統表參考

Important

Azure Databricks 強烈不建議你將這些資料移出平台,因為這可能會暴露敏感資料,危及你的部署。 由於系統資料表資訊的性質,提醒您有責任維護任何匯出系統資料表資訊的安全,並防止被濫用。

系統資料表提供由 Azure Databricks 託管的分析儲存,記錄你帳號的運作資料。 利用它們監控成本、稽核安全事件、追蹤運算與工作效能,以及觀察資料與人工智慧工作負載。

什麼是系統數據表?

系統資料表是Azure Databricks託管的分析儲存庫,儲存帳號運作資料,存放於 system 目錄中。 系統資料表可用於帳戶的歷史觀察性。

注意

資訊結構表(system.information_schema)的運作方式與其他系統表不同。 請參閱 資訊架構。

需求

  • 若要存取系統數據表,您的工作區必須啟用 Unity 目錄。 欲了解更多資訊,請參閱 啟用系統資料表。
  • 請參閱功能區域支援以了解系統資料表區域的可用性。

哪些系統數據表可供使用?

目前,Azure Databricks 托管以下系統表格:

桌子 描述 支援串流 免費保留期間 包含全域或區域資料
Alert configuration (公開預覽) 一個緩變維度表,用於擷取每個警報隨時間推移的組態。
表格路徑: system.alert.alerts
不 365 天 區域性
警報評估歷史 (公開預覽) 記錄每個警示評估的一列,包括評估狀態及通知傳遞狀態。
表格路徑: system.alert.alert_evaluation_history
不 365 天 區域性
稽核記錄 (公開預覽) 包含您區域中工作區所有稽核事件的記錄。 如需可用稽核事件的清單,請參閱 診斷記錄參考。
表格路徑: system.access.audit
是的 365 天 工作區層級事件的區域性。 事件適用於帳戶層級的全域範圍。
計費使用量 包含帳戶中所有可計費使用量的記錄。
表格路徑: system.billing.usage
是的 365 天 全球
無塵室活動 (公開預覽) 擷取與潔淨室相關的事件。
表格路徑: system.access.clean_room_events
是的 365 天 區域性
叢集 緩時變維度數據表,其中包含任何叢集一段時間計算組態的完整歷程記錄。 是的 365 天 區域性
欄位譜系 在 Unity 目錄資料行上包含每個讀取或寫入事件的記錄(但不包含沒有來源的事件)。
表格路徑: system.access.column_lineage
是的 365 天 區域性
資料分類結果 (公開預覽) 儲存中繼存放區中已啟用目錄的敏感性資料類別的資料行層級偵測。
表格路徑: system.data_classification.results
不 13個月 區域性
資料品質監控結果 (公開預覽) 儲存你的 metastore 中所有已啟用資料表的資料品質監控檢查結果(新鮮度、完整性)和事件資訊,包括下游影響。
表格路徑: system.data_quality_monitoring.table_results
不 13個月 區域性
受管理標籤(測試版) 包含您帳戶中所有受控標籤定義的版本化紀錄,包括客戶建立及系統產生的標籤。
表格路徑: system.tags.governed_tags
不 365 天 全球
精靈密碼事件 (公開預覽) 追蹤發送給 Genie Code 的用戶訊息。
表格路徑: system.access.assistant_events
不 365 天 區域性
Unity Gateway 使用情況 (公開預覽版) 擷取 Unity Gateway 模型服務的請求與回應細節,包括令牌使用、延遲、效能指標及路由資訊。
表格路徑: system.ai_gateway.usage
是的 365 天 區域性
Unity Gateway 外部模型支出 (測試版) 記錄透過模型供應商服務路由至外部模型的請求所估計的美元支出。
表格路徑: system.ai_gateway.external_model_spend
不 365 天 區域性
湖底可觀察性 (Beta) 擷取 Lakebase Postgres 可觀察性遙測資料,如會話歷史、查詢計畫、等待事件及結構變更歷史,涵蓋結構中 system.lakebase 各表。
表格路徑: system.lakebase.*
不 7 天 區域性
OpenSharing 資料具體化事件 擷取從檢視、具體化檢視和串流數據表共用建立的數據具體化事件。
表格路徑: system.sharing.materialization_history
是的 365 天 工作區層級事件的區域性。
實例事件 (公開預覽) 擷取經典計算實例的狀態轉換。
表格路徑: system.compute.instance_events
是的 365 天 區域性
實例池 (公開預覽版) 一個緩慢變動的維度表,包含實例池配置隨時間的完整歷史。
表格路徑: system.compute.instance_pools
是的 365 天 區域性
工作執行時間軸 追蹤工作執行的開始和結束時間。
表格路徑: system.lakeflow.job_run_timeline
是的 365 天 區域性
工作任務時間軸 追蹤用於工作任務執行的開始和結束時間和運算資源。
表格路徑: system.lakeflow.job_task_run_timeline
是的 365 天 區域性
工作任務 追蹤在帳戶中執行的所有工作任務。
表格路徑: system.lakeflow.job_tasks
是的 365 天 區域性
工作 追蹤所有在帳戶中建立的任務。
表格路徑: system.lakeflow.jobs
是的 365 天 區域性
Marketplace 漏斗圖事件 (公開預覽) 包含商品清單的消費者印象和漏斗資料。
表格路徑: system.marketplace.listing_funnel_events
是的 365 天 區域性
Marketplace 清單存取權 (公開預覽) 包含消費者資訊,用於已完成 要求數據 或 取得資料 事件於您的清單上。
表格路徑: system.marketplace.listing_access_events
是的 365 天 區域性
MLflow 追蹤實驗中繼資料 (公開預覽版) 每一列都代表在 Databricks 管理的 MLflow 系統中建立的實驗。
表格路徑: system.mlflow.experiments_latest
是的 180 天 區域性
MLflow 追蹤執行中繼資料 (公開預覽版) 每個資料列都代表在 Databricks 管理的 MLflow 系統中建立的執行。
表格路徑: system.mlflow.runs_latest
是的 180 天 區域性
MLflow 追蹤執行計量 (公開預覽) 保存與指定模型訓練、評估或代理開發相關聯的 MLflow 時間序列計量。
表格路徑: system.mlflow.run_metrics_history
是的 180 天 區域性
模型服務端點資料 (公開預覽) 緩慢變更的維度表,將每個服務基礎模型的中繼資料儲存在模型服務端點。
表格路徑: system.serving.served_entities
是的 365 天 區域性
模型服務端點的使用量 (公開預覽) 擷取每次對模型服務端點的要求及其回應的令牌計數。 若要擷取此資料表中的端點使用量,您必須 啟用服務端點上的使用量追蹤。
表格路徑: system.serving.endpoint_usage
是的 90 天 區域性
網路存取事件 (輸入) (公開預覽版) 一個資料表記錄每次入口原則拒絕對工作區的入埠存取的事件。
表格路徑: system.access.inbound_network
是的 30 天 區域性
網路存取事件 (輸出) (公開預覽) 每次您的帳戶被拒絕向外的網際網路存取時,一張表格會記錄該事件。
表格路徑: system.access.outbound_network
是的 365 天 區域性
節點時間軸 擷取通用和工作運算資源使用情況的相關數據。
表格路徑: system.compute.node_timeline
是的 90 天 區域性
節點類型 使用基本硬體資訊擷取目前可用的節點類型。
表格路徑: system.compute.node_types
不 無限期 區域性
管線事件 (測試版) 記錄您所在區域 Lakeflow 管線的事件日誌條目:生命週期轉換、流量進度、資料品質指標及錯誤。
表格路徑: system.lakeflow_pipeline_events_preview.pipeline_events
是的 365 天 區域性
管線更新時間表 (公開預覽) 追蹤用於管線更新的開始和結束時間以及運算資源。
表格路徑: system.lakeflow.pipeline_update_timeline
是的 365 天 區域性
管線 (公開預覽) 追蹤在帳戶中建立的所有管線。
表格路徑: system.lakeflow.pipelines
是的 365 天 區域性
自動升級 (公開預覽版) 追蹤 Unity 目錄管理資料表上透過自動升級執行的功能啟用操作歷史。
表格路徑: system.storage.table_auto_upgrade_operations_history
不 180 天 區域性
預測性最佳化 (公開預覽) 追蹤預測性最佳化功能的操作歷程記錄。
表格路徑: system.storage.predictive_optimization_operations_history
不 180 天 區域性
定價 SKU 價格的歷程記錄。 凡是 SKU 價格變更,就會新增記錄。
表格路徑: system.billing.list_prices
不 無限期 全球
查詢歷程記錄 擷取在 SQL 倉儲和無伺服器計算上執行的所有查詢記錄,適用於 筆記本、 和 作業。
表格路徑: system.query.history
不 365 天 區域性
Replication 追蹤 Azure Databricks managed disaster recovery (DR) 的複製狀態。
表格路徑: system.replication.states
是的 365 天 全球
SQL 倉儲事件 擷取與 SQL 倉儲相關的事件。 例如,啟動、停止、運行、擴大和縮小。
表格路徑: system.compute.warehouse_events
是的 365 天 區域性
SQL 倉儲 包含任何 SQL 倉儲一段時間的組態完整歷程記錄。
表格路徑: system.compute.warehouses
是的 365 天 區域性
表格譜系 在 Unity 目錄資料表或路徑上包含每個讀取或寫入事件的記錄。
表格路徑: system.access.table_lineage
是的 365 天 區域性
工作區 (公開預覽) workspaces_latest數據表是帳戶中所有工作區的緩時變維度數據表。
表格路徑: system.access.workspaces_latest
不 無限期 全球
Zerobus 匯入(串流)(測試版) 一個儲存所有與 Zerobus Ingest 使用量相關的串流事件資料的表格。
表格路徑: system.lakeflow.zerobus_stream
是的 365 天 區域性
Zerobus Ingest(匯入)(測試版) 一個儲存所有使用 Zerobus Ingest 所擷取紀錄相關資料的資料表。
表格路徑: system.lakeflow.zerobus_ingest
是的 365 天 區域性

系統表格是免費使用的。 你只需為查詢它們時所使用的運算資源付費。

注意

除了上面列出的系統表格之外,您可能會在帳戶中看到其他系統表格。 這些數據表目前為私人預覽版,預設為空白。 如果您有興趣使用上述任何數據表,請連絡您的 Databricks 帳戶小組。

系統數據表關聯性

下列實體關聯性圖表概述目前可用的系統資料表如何彼此相關。 此圖表會醒目提示每個數據表的主鍵和外鍵。

Databricks 系統數據表的實體關聯性圖表

啟用系統資料表

由於系統資料表受 Unity 目錄管理,你需要在帳號中至少有一個啟用 Unity 目錄的工作區,才能啟用帳號的系統表。 系統數據表包含您帳戶中所有工作區的數據,但只能從已啟用 Unity 目錄的工作區存取這些數據。

中繼存放區必須在 Unity 目錄許可權模型 1.0 版上,才能存取系統數據表。 請參閱升級至權限繼承。

授與系統數據表的存取權

系統數據表的存取權是由 Unity 目錄所控管。 同時擁有帳號管理員和 Metastore 管理員角色的使用者預設可以存取系統資料表。 為了讓其他使用者查詢系統資料表,管理員必須授予使用者以下權限: USE CATALOG 系統目錄、 USE SCHEMA 系統結構 SELECT 及系統架構。 請參閱 在 Unity 目錄中管理許可權。

系統數據表是唯讀的,無法修改。

注意

如果帳戶是在 2023 年 11 月 9 日之後建立,您預設可能沒有中繼存放區管理員。 如需詳細資訊,請參閱 開始使用 Unity 目錄。

系統數據表是否包含您帳戶中所有工作區的數據?

系統數據表包含您帳戶中部署在相同雲端區域中之所有工作區的操作數據。 某些數據表包含全域數據。 如需詳細資訊,請參閱 可用數據表的清單。

雖然系統數據表只能透過 Unity 目錄工作區來存取,但它們包含您帳戶中非 Unity 目錄工作區的作數據。

系統數據表數據儲存在哪裡?

你帳號的系統資料表資料會儲存在一個由 Azure Databricks 託管的儲存帳號裡,該帳號位於與你的元儲存庫相同區域。 資料會透過 OpenSharing 安全地與你分享。

設定系統資料表資料保留

Important

系統資料表的可設定保留功能目前仍在 測試階段。 帳號管理員可在帳號層級的Previews頁面中,選擇加入System Tables Configurable Retention預覽,以控制此功能的存取權。 預覽功能可能需要長達 24 小時才能在您的帳號上啟用。

可設定保留功能讓帳號管理員設定一個單一保留期,適用於其帳號中所有支援的系統資料表。

當帳戶啟用此 Beta 功能時,所有支援系統資料表的免費保留期會自動變成 395 天,取代了特定資料表的期限。 帳號管理員可以自訂保留期限,從 30 天到 3,650 天不等。

設定的保留期在測試期間是免費的。 當可配置保留功能普及時,保留超過 395 天的資料將產生儲存費用。

支援的資料表

為您的帳戶設定的保留期限適用於所有系統資料表,但位於 system.data_quality_monitoring、system.lakebase 和 system.data_classification 結構描述中的資料表除外。

在帳號主控台設定留存

你必須是帳號管理員才能設定系統資料表保留。 設定保留期限:

  1. 在 帳號主控台 側邊欄,點選 設定。
  2. 按兩下 [ 帳戶設定] 索引標籤。
  3. 在 系統表的資料保留(天) 設定中,輸入保留期間(以天為單位)。
  4. 點選 [儲存]。

使用帳戶設定 API 來設定保留

你可以使用 Azure Databricks 帳戶設定 API 來管理系統資料表的保留。 你需要你的 Azure Databricks 帳號 ID 和帳號管理員個人存取權杖(OAuth 權杖)。 設定名稱為 st_retention。

要取得目前的保留期間,請發送 GET 請求至 /api/2.1/accounts/{account_id}/settings/st_retention:

curl --request GET \
  --header "Content-Type: application/json" \
  --header "Authorization: Bearer $token" \
  "<account-console-url>/api/2.1/accounts/<account-id>/settings/st_retention"

回應包含該帳戶設定的值。 如果帳號管理員還沒設定值,回應會顯示預設值 395 天。

若要更改保留期限,請發送 PATCH 請求至 /api/2.1/accounts/{account_id}/settings/st_retention。 以下範例將保留期限設定為400天:

curl --request PATCH \
  --header "Content-Type: application/json" \
  --header "Authorization: Bearer $token" \
  --data '{
    "integer_val": {
      "value": 400
    },
    "name": "st_retention"
  }' \
  "<account-console-url>/api/2.1/accounts/<account-id>/settings/st_retention"

保留行為

  • 如果你延長保留期限,變更會立即套用到表格。
  • 如果你縮短保留期限,Azure Databricks 會等待七天才套用變更。 在此寬限期內,帳號管理員可以在歷史資料永久刪除前修正意外變更。
  • 當紀錄超過設定的保留期限時,Azure Databricks 通常會在一週內刪除該紀錄。

Limitations

  • 可設定的保留原則不適用於 system.data_classification、system.data_quality_monitoring 和 system.lakebase 結構描述。 這些系統資料表依照其特定資料表的保留政策來保留資料。
  • 延長保留期限並不會填補任何歷史資料。
  • 在發生災難或資料完全遺失時,Azure Databricks 並不保證在設定的保留期間內,所有系統資料表資料都能被恢復。
  • 可配置保留僅限於 HIPAA、HITRUST、PCI、C5、TISAX、Azure Government FedRAMP 及 Azure 商業 FedRAMP 合規標準。 其他所有合規標準均不被支援。

系統資料表位於目錄瀏覽器的哪裡?

您的帳戶中的系統數據表位於名為 system的目錄中,每個 Unity 目錄中繼存放區都包含此目錄。 在 system 目錄中,您會看到例如 access 和 billing 這樣的架構,其中 billing 包含系統數據表。

串流系統數據表的考慮

Azure Databricks 使用 OpenSharing 與客戶分享系統資料表資料。 使用 OpenSharing 直播時請注意以下事項:

  • 要從系統資料表串流,必須使用 Databricks Runtime 16.4 及以上版本。 若要使用 readChangeFeed 選項串流變更資料摘要(CDF),您必須使用 Databricks Runtime 17.3 或更新版本。
  • 如果您正在串流並搭配系統資料表,請將 skipChangeCommits 選項設定為 true。 這可確保串流作業不會因系統數據表中的刪除而中斷。 請參見 處理 Delta Lake 來源資料表的變更。
  • Trigger.AvailableNow 支援於 Databricks 執行環境 18.0 及以上版本。 查詢會在系統資料表啟動時擷取其當前版本,將所有可用資料分成一個或多個微批次處理,然後停止。 在 Databricks 執行 17.3 及以下版本中, Trigger.AvailableNow 會轉換為 Trigger.Once,每次執行處理單一微批次。
  • 系統資料表使用預設的 7 天保留期 VACUUM(參見 設定時間旅行查詢的資料保留),也就是說,如果你的串流查詢滯後超過 7 天,可能會中斷。 監控你的資料流,確保它們能跟上最新的系統資料表版本。

如果你的串流工作無法跟上最新的系統資料表版本,請使用 Trigger.AvailableNow (支援 Databricks Runtime 18.0 及以上版本)來確保每次執行都能處理全部可用的待辦清單,或增加工作排程頻率。

從串流系統資料表讀取增量變更

spark.readStream.option("skipChangeCommits", "true").table("system.billing.usage")

已知問題

  • 新的數據行可以隨時新增至現有的系統數據表。 如果引進新的數據行,依賴固定架構的查詢可能會中斷。 現有的欄位不會改變或被移除。 如果您要將系統數據表數據寫入另一個目標數據表,請考慮 啟用架構演進。
  • 結構型別欄位可以隨時新增新的欄位。 如果您要將系統數據表數據寫入另一個目標數據表,請考慮 啟用架構演進。
  • 不支援即時監視。 資料會全天更新。 如果您沒有看到最近事件的記錄檔,請稍後返回。
  • 系統 __internal_logging 數據表架構支援使用 已啟用 AI 閘道的推斷資料表 進行外部模型和布建輸送量工作負載的承載記錄。 帳戶管理員可以看到此架構,但無法啟用,且不應該用於客戶工作流程。
  • 為防止效能問題,系統資料表查詢若選擇性不足,會回傳以下錯誤: System Table query returned too much data. Please repeat query with more selective predicates.
  • 若要啟用系統數據表,您可能需要將網路存取權授與系統數據表 Blob 記憶體端點。 若要檢視每個區域系統資料表的記憶體端點清單,請參閱 記憶體端點 IP 位址。
  • 系統架構 system.operational_data 和 system.lineage 已被取代,且將包含空白數據表。