Databricks Lakehouse 監視簡介
本文說明 Databricks Lakehouse 監視。 其涵蓋監視數據的優點,並提供 Databricks Lakehouse 監視元件和使用方式的概觀。
Databricks Lakehouse 監控可讓您監控帳戶中所有 tables 數據的統計特性及數據品質。 您也可以透過監視包含模型輸入和預測的推斷 tables,來追蹤機器學習模型和模型服務端點的效能。 此圖顯示透過 Databricks 中的數據和 ML 管線的數據流,以及如何使用監視來持續追蹤資料品質和模型效能。
為什麼要使用 Databricks Lakehouse 監視?
若要從數據中繪製有用的深入解析,您必須對數據的品質有信心。 監視您的數據提供量化量值,可協助您追蹤和確認一段時間內數據的品質和一致性。 當您偵測到 table數據分佈或對應模型的效能變更時,Databricks Lakehouse Monitoring 所建立的 tables 可以擷取並警示變更,並協助您找出原因。
Databricks Lakehouse 監視可協助您回答如下的問題:
- 數據完整性看起來是什麼樣子,以及隨著時間而變更的方式? 例如,目前數據中 null 或零的比例為何 values,以及它是否已增加?
- 數據的統計分佈看起來是什麼樣子,以及隨著時間的變化? 例如,數值 column的第 90 個百分位數為何? 或者,類別 column中的 values 分佈為何,以及它與昨天有何不同?
- 目前數據與已知基準之間,或數據連續時間範圍之間是否有漂移?
- 數據子集或配量的統計分佈或漂移是什麼樣貌?
- ML 模型輸入和預測如何隨著時間變化?
- 模型效能趨勢如何隨著時間推移? 模型版本 A 的執行效能是否優於 B 版?
此外,Databricks Lakehouse 監視可讓您控制觀察的時間粒度,並 set 自定義計量。
需求
以下是使用 Databricks Lakehouse 監視的必要專案:
- 您的工作區必須已啟用 Unity Catalog,而且您必須有權限存取 Databricks SQL。
- 只有 Delta tables 支援監測,而 table 必須是以下 table 類型之一:受管控 tables、外部的 tables、views、具體化的 views或串流 tables。
- 透過具體化 views 和串流 tables 建立的監視器不支援增量處理。
- 並非所有區域都受到支援。 如需區域支援,請參閱筆記本和工作流程的無伺服器計算 column 在具有有限區域可用性的功能 table中。
注意
Databricks Lakehouse 監視會針對作業使用無伺服器計算。 如需追蹤 Lakehouse 監視費用的詳細資訊,請參閱 檢視 Lakehouse 監視費用。
Lakehouse 監視如何在 Databricks 上運作
若要在 Databricks 中監視 table,您需建立一個監視器,並附加至 table。 若要監視機器學習模型的效能,您可以將監視器附加至包含模型輸入和對應預測的推理 table。
Databricks Lakehouse 監視提供下列類型的分析:時間序列、快照集和推斷。
設定檔類型 | 描述 |
---|---|
時間序列 | 用於 tables,其中包含以時間戳 column為基礎的時間序列數據集。 監視會跨時間序列的時間範圍計算數據品質計量。 |
推斷 | 用於包含模型要求記錄檔的 tables。 每一行都是一個要求,包含時間戳columns、模型輸入、相應的預測以及(可選的)地面實際標籤。 監視會比較要求記錄的時間型時段的模型效能和數據品質計量。 |
快照式 | 用於所有其他 tables類型。 監控會計算 table中所有數據的數據質量指標。 系統會使用每個 refresh來處理完整的 table。 |
本節簡短說明 Databricks Lakehouse 監視所使用的輸入 tables,以及其產生的計量 tables。 此圖顯示輸入 tables、計量 tables、監視器和儀錶板之間的關聯性。
主要 table 和基準 table
除了要監視的 table,稱為「主要 table」,您也可以選擇性地指定基線 table,作為測量漂移或時間隨著 values 的變化的參考。 當您擁有一個您預期數據的範例時,基準值 table 會很有用。 這個概念是,漂移接著會相對於預期的數據 values 和分佈來計算。
基準 table 應該包含一個數據集,以反映輸入數據的預期品質、統計分佈、個別 column 分佈、遺漏 values和其他特性。 受監視的 table的 schema 應該相符。 例外狀況是與時間序列或推斷配置檔搭配使用的 tables 時間戳 column。 如果主要 table 或基準 table中缺少 columns,監視會使用盡量最佳的啟發式方法來計算輸出指標。
對於使用快照配置檔的監視器,基準 table 應該包含數據 where 的快照,其中的分佈代表一個可接受的質量標準。 例如,在等級分佈數據上,可能會將基準 set 設定為之前一個班級的情況,當時成績 where 是均勻分配的。
對於使用時間序列配置檔的監視器,基準 table 應包含代表時間 window(s) 的數據,where 數據分佈代表可接受的質量標準。 例如,在天氣數據上,您可能會將基準 set 到一周、月或一年,where 溫度接近預期的正常溫度。
對於使用推斷配置檔的監視器,基準的最好選擇是用來定型或驗證所監視模型的數據。 如此一來,當數據相對於模型經過定型和驗證時,使用者就可以發出警示。 此 table 應該包含與主要 table一樣的功能 columns,並且還應該擁有與主要 table的 InferenceLog 所指定的一樣的 model_id_col
,以確保一致地匯總數據。 在理想情況下,應該使用用來評估模型的測試或驗證 set,以確保模型品質指標具有可比較性。
度量 tables 和儀錶板
table 監視器會建立兩個計量指標 tables 和一個儀表板。 計量 values 包括整個 table的資料,並會根據您在建立監視器時指定的時間範圍和資料子集(或「切片」)來計算。 此外,針對推斷分析,系統會針對每個模型標識元計算計量。 如需計量 tables的詳細資訊,請參閱 監視計量 tables。
- 檔案指標 table 包含摘要統計數據。 請參閱 檔案指標 tableschema。
- 漂移計量 table 包含與數據隨時間漂移相關的統計數據。 如果提供基準 table,還會監測相對於基準 values的漂移。 請參閱 漂移計量 tableschema。
計量 tables 為 Delta tables,並儲存在您指定的 Unity Catalogschema 中。 您可以使用 Databricks UI 來檢視這些 tables、使用 Databricks SQL 查詢這些 tables,並根據它們建立儀錶板和警示。
針對每個監視器,Databricks 會自動建立儀錶板,以協助您可視化並呈現監視器結果。 儀錶板完全可像任何其他 舊版儀錶板一樣自定義。
開始使用 Databricks 上的 Lakehouse 監視
請參閱下列文章以開始使用 get:
- 使用 Databricks UI 建立監視器。
- 使用 API 建立監視器。
- 瞭解監控指標 tables。
- 使用監視儀錶板。
- 根據監視器建立 SQL 警示。
- 建立自訂計量。
- 監視服務端點的模型。
- 監視分類模型的公平性和偏差。
- 請參閱 Databricks Lakehouse 監視 API 的參考數據。
- 範例筆記本。