使用自定義指標與磚Lakehouse監控

預覽

這個特性是在公共預覽

這個頁麵描述了如何創建一個自定義指標在磚Lakehouse監控。除了分析和漂移自動計算的統計數據,您可以創建自定義指標。例如,您可能想要追蹤一個加權平均數,捕捉一些方麵的業務邏輯或使用一個定製的模型質量分數。您還可以創建定製的漂移指標,跟蹤修改基本表中的值(相對於基線或以前的時間窗口)。

對於如何使用的更多細節databricks.lakehouse_monitoring.MetricAPI,看到API參考

類型的自定義指標

磚Lakehouse監測包括以下類型的自定義指標:

  • 總指標,計算基於主要表中的列。聚合度量指標表存儲在概要文件。

  • 派生指標,計算基於先前計算的總指標和不直接使用數據從主桌。派生度量指標表存儲在概要文件。

  • 漂移指標,比較以前計算聚合或指標來自兩個不同的時間窗口,或主表和基線之間的表。漂移指標表存儲在漂移指標。

使用派生和漂移指標盡可能最小化在完整的主要表重新計算。隻有總指標訪問從主數據表。派生和漂移指標可以直接從總度量值計算。

自定義指標參數

定義一個自定義度量,您創建一個金賈的模板對於SQL列表達式。在這一節中描述的表的參數定義度量,和金賈的模板中使用的參數。

參數

描述

類型

之一,派生的,或漂移

的名字

自定義指標在指標表的列名。

input_columns

輸入表的列名列表應計算指標。表明多個列用於計算,使用:表。看到本文的示例。

定義

金賈的SQL表達式模板,指定如何計算度量。看到創建metric_definition

output_data_type

火花度規的數據類型輸出。

創建定義

定義參數必須是一個字符串表達式的形式金賈的模板。它不能包含連接或子查詢。構建複雜的定義,您可以使用Python輔助函數。

下表列出了參數可以用來創建一個SQL Jinja模板指定如何計算指標。

參數

描述

{{input_column}}

列用於計算自定義指標。

{{prediction_col}}

列控股毫升模型預測。使用InferenceLog分析。

{{label_col}}

列控股毫升模型地麵實況標簽。使用InferenceLog分析。

{{current_df}}

漂移比前一次窗口。數據從之前的時間窗口。

{{base_df}}

對基線漂移比較表。基線數據。

總規的例子

下麵的示例計算值的平方的平均值在一列,和應用於列f1f2。輸出是在概要文件保存為一個新列指標表和分析行對應列所示f1f2。適用的列名稱代替金賈的參數{{input_column}}

進口lakehouse_monitoring作為lmpyspark.sql進口類型作為Tlm度規(類型=“總”,的名字=“squared_avg”,input_columns=(“f1”,“f2”),定義=“avg (' {{input_column}} ' * ' {{input_column}} ')”,output_data_type=T倍增式())

下麵的代碼定義一個自定義指標計算的平均值之間的差異列f1f2。這個例子顯示了使用["表”):input_columns參數表明,多個列的表是用於計算。

進口lakehouse_monitoring作為lmpyspark.sql進口類型作為Tlm度規(類型=“總”,的名字=“avg_diff_f1_f2”,input_columns=(表”:“),定義=“avg (f1 - f2)”,output_data_type=T倍增式())

這個例子計算質量得分加權模型。為觀察的地方至關重要的列是真正的分配一個更重的懲罰,當行不匹配的預測值地麵真理。因為它是定義在原始列(預測標簽),它的定義為一個聚合度量。的:表列計算表明這個指標從多個列。金賈的參數{{prediction_col}}{{label_col}}替換與預測和地麵實況的名稱標簽列監視器。

進口lakehouse_monitoring作為lmpyspark.sql進口類型作為Tlm度規(類型=“總”,的名字=“weighted_error”,input_columns=(表”:“),定義=”““avg(案例當{{prediction_col}} = {{label_col}}然後0{{prediction_col}} ! = {{label_col}}然後關鍵= TRUE 21))”“”,output_data_type=T倍增式())

派生指標的例子

下麵的代碼定義一個自定義指標計算的平方根squared_avg在本節中早些時候度量定義。因為這是一個派生指標,它不引用主表數據而定義的squared_avg聚合度規。輸出是在概要文件保存為一個新列指標表。

進口lakehouse_monitoring作為lmpyspark.sql進口類型作為Tlm度規(類型=“導出”,的名字=“root_mean_square”,input_columns=(“f1”,“f2”),定義=“sqrt (squared_avg)”,output_data_type=T倍增式())

漂移指標的例子

下麵的代碼定義了一個漂移指標,跟蹤的變化weighted_error在本節中早些時候度量定義。的{{current_df}}{{base_df}}參數允許指標參考weighted_error從當前窗口和窗口值。比較窗口可以是基線數據或數據從之前的時間窗口。漂移指標保存在漂移指標表。

進口lakehouse_monitoring作為lmpyspark.sql進口類型作為Tlm度規(類型=“漂移”,的名字=“error_rate_delta”,input_columns=(表”:“),定義=”{{current_df}}。weighted_error- {{base_df}}.weighted_error",output_data_type=T倍增式()