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