磚。lakehouse_monitoring包

功能

databricks.lakehouse_monitoring。 create_monitor ( *,table_name:str,profile_type:聯盟(InferenceLog,TimeSeries,快照],output_schema_name:str,baseline_table_name:可選(str]=沒有一個,slicing_exprs:可選(Iterable(str]]=沒有一個,custom_metrics:可選(Iterable(度規]]=沒有一個,時間表:可選(MonitorCronSchedule]=沒有一個,assets_dir:可選(str]=沒有一個 ) MonitorInfo

上創建一個異步監控表(或視圖)。

參數
  • table_name- - - - - -

    表(或視圖)的名稱統一目錄進行監視。這個名字可以采取以下格式:

    • “{目錄},{模式}。{表}”,或

    • “{模式}{表}”。,或

    • 表“{}”

    如果不包括目錄或模式,他們將被推斷為當前目錄和模式名稱。

  • profile_type——一個databricks.lakehouse_monitoring.InferenceLogdatabricks.lakehouse_monitoring.TimeSeriesdatabricks.lakehouse_monitoring.Snapshot對象的類型決定了度量來計算/監控。

  • output_schema_name——名稱的模式來創建輸出表。這可以在模式“{}”“{目錄}{模式}”。格式。

  • baseline_table_name——名稱表(或視圖)包含比較的基線數據。基線表將匹配模式的監控表(時間戳,適用除外)。如果兩側列失蹤那麼監測將使用最優啟發式計算輸出指標。

  • slicing_exprs——切片數據的列表達式列表進行有針對性的分析。獨立的數據是按每一個分組表達式,結果在一個單獨的片,每個謂詞及其互補。例如slicing_exprs = [“col_1”,“col_2>10”)將產生以下片:兩片col_2>10(真假),一片獨特的價值col_1

  • custom_metrics——列表databricks.lakehouse_monitoring.Metric將計算實例,代表自定義指標和寫入輸出表。

  • 時間表——一個databricks.lakehouse_monitoring.MonitorCronSchedule對象,規定的頻率監控刷新它的指標。

  • assets_dir- - - - - -

    用戶可配置的工作區目錄的絕對路徑來存儲監控資產。如果提供,資產將在創建:

    {assets_dir} / {table_name}

    否則,這些資產將存儲在默認目錄下:

    /用戶/ {user_name} / databricks_lakehouse_monitoring / {table_name}

    請注意,這個目錄可以存在,包括/共享/或之外的其他地方/用戶/目錄;這可能是有用的在配置生產監控在一個組織內共享。

返回

的信息等待監控。

返回類型

databricks.lakehouse_monitoring.MonitorInfo

提出了
  • LakehouseMonitoringError——表不在加州大學

  • LakehouseMonitoringError-監控表已經存在

  • LakehouseMonitoringError——輸入參數驗證失敗

databricks.lakehouse_monitoring。 delete_monitor ( *,table_name:str ) 沒有一個

刪除給定表的監控。

請注意

監測資產(概要表和儀表板)不刪除這個方法。

參數

table_name-監控表的名稱。

返回

沒有一個

提出了

LakehouseMonitoringError——監視器是不存在的。

databricks.lakehouse_monitoring。 get_monitor ( *,table_name:str ) MonitorInfo

檢索信息的監控。

參數

table_name-監控表的名稱。

返回

關於監控的信息。

返回類型

databricks.lakehouse_monitoring.MonitorInfo

提出了

LakehouseMonitoringError-監控不存在或者發生錯誤而閱讀來自Lakehouse監測的信息服務

databricks.lakehouse_monitoring。 get_refresh ( *,table_name:str,refresh_id:str ) RefreshInfo

檢索信息為一個特定的刷新。

參數
  • table_name-監控表的名稱。

  • refresh_id——刷新的id。

返回

關於更新的信息。

返回類型

databricks.lakehouse_monitoring.RefreshInfo

提出了

LakehouseMonitoringError——如果有一個錯誤檢索信息

databricks.lakehouse_monitoring。 list_refreshes ( *,table_name:str ) 列表(RefreshInfo]

檢索最近刷新信息。

參數

table_name-監控表的名稱。

返回

關於更新的信息。

返回類型

列表(databricks.lakehouse_monitoring.RefreshInfo]

提出了

LakehouseMonitoringError——如果有一個錯誤檢索信息

databricks.lakehouse_monitoring。 run_refresh ( *,table_name:str ) RefreshInfo

輸入表隊列指標刷新。在後台刷新將執行。

參數

table_name-監控表的名稱。

返回

信息刷新操作。

返回類型

databricks.lakehouse_monitoring.RefreshInfo

databricks.lakehouse_monitoring。 update_monitor ( *,table_name:str,updated_params:映射(str,任何] ) MonitorInfo

更新現有的監控的參數表。

請注意

監測指標將反映新的配置在下次刷新。看到databricks.lakehouse_monitoring.run_refresh ()如果你想手動觸發刷新。

參數
  • table_name-監控的表的名稱

  • updated_params- - - - - -

    Dict的參數和他們的新值更新。任何參數設置為沒有一個將被清除的配置。確認以下參數:

    • “profile_type”之一:databricks.lakehouse_monitoring.InferenceLogdatabricks.lakehouse_monitoring.TimeSeriesdatabricks.lakehouse_monitoring.Snapshot

    • “baseline_table_name”:一個非空表名稱或沒有一個

    • “slicing_exprs”:一個非空Iterable (str)沒有一個

    • “custom_metrics”:一個非空Iterabledatabricks.lakehouse_monitoring.Metric沒有一個

    • “安排”:一個非空databricks.lakehouse_monitoring.MonitorCronSchedule沒有一個

    • “output_schema_name”:兩層名稱的模式來存儲輸出指標表。

返回

更新的信息監控。

返回類型

databricks.lakehouse_monitoring.MonitorInfo

提出了
  • LakehouseMonitoringError-監控並不存在

  • LakehouseMonitoringError——調用者沒有權限更新

  • LakehouseMonitoringError——參數是無效的

databricks.lakehouse_monitoring。 InferenceLog ( timestamp_col:str,粒度:列表(str],model_id_col:str,problem_type:str,prediction_col:str,label_col:可選(str]=沒有一個,prediction_proba_col:可選(str]=沒有一個 )

基地:對象

分析類型規範毫升推理數據。

粒度 :列表(str]

粒度數據聚合成時間窗的基於時間戳。目前支持以下靜態粒度:{“5分鍾”,“30分鍾”,“1一小時”,“1日”,“< n >星期(s)”,“1月”,“1年”}。

label_col :可選(str] =沒有一個

可選的列包含真實的預測。

model_id_col :str

包含的id列生成的預測模型。指標將計算每個模型默認id,並在所有模型ids。

prediction_col :str

列包含輸出/預測的模型。

prediction_proba_col :可選(str] =沒有一個

可選的列包含對每個類的預測概率的分類問題類型。這一列的值應該是一個映射,映射每個類標簽的預測概率對於一個給定的樣本。的地圖應該PySpark MapType ()。

problem_type :str

之一“回歸”“分類”。決定將計算模型質量指標的類型。

timestamp_col :str

包含請求的時間戳列

databricks.lakehouse_monitoring。 度規 ( 類型:str,的名字:str,input_columns:聯盟(列表(str],str],定義:str,output_data_type:數據類型 )

基地:對象

定義一個定製的指標。例子:

  • 隻適用於列的總指標f1。計算目標列的avg的日誌:

    > > >agg_metric=度規(類型=“聚合”,name = " avg_log ",input_columns = (“f1”),定義= " avg(日誌({{input_column}}))”,output_data_type = T.DoubleType ())
  • 一個聚合計算度量,使用多個列。的avg計算列之間的區別f1f2:

    > > >agg_metric=度規(類型=“聚合”,name = " avg_diff_f1_f2 ",input_columns =(“:表”),=“avg (f1 - f2)”的定義,output_data_type = T.DoubleType ())
  • 派生指標取決於度量avg_log。它的經驗指數計算avg_log度量:

    > > >derived_metric=度規(type = "導出",name = " exp_avg_log ",input_columns = (“f1”),定義= " exp (avg_log)”,output_data_type = T.DoubleType ())
  • 一個依賴於度量漂移指標avg_log。它計算之間的差異avg_log指標在基線和輸入表,在連續兩個時間窗口:

    > > >drift_metric=度規(類型=“漂移”,name = " avg_log_delta ",input_columns = (“f1”),定義= " {{current_df}}。avg_log- {{base_df}}.avg_log",output_data_type = T.DoubleType ())
定義 :str

一個SQL表達式金賈的模板,定義指標的計算。支持模板參數:

  • {{input_column}}:指標計算的列的名稱

  • {{prediction_col}}:毫升模型預測的列的名稱

  • {{label_col}}:毫升地麵實況標簽列的名稱

  • {{current_df}}/{{base_df}} 別名漂移數據集相比較的指標。

    對於基線漂移,{{base_df}}將代表基線數據;對於連續漂移,{{base_df}}將代表數據從之前的時間窗口。

input_columns :聯盟(列表(str],str]

輸入表的列名列表應計算指標。可以使用表”:“表明指標需要來自多個列的信息。

的名字 :str

度量在輸出表的名稱

output_data_type :pyspark.sql.types.DataType

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

類型 :str

隻能之一嗎“總”,“導出”,或“漂移”。的“總”“導出”指標計算在一個表,而“漂移”比較指標在基線和輸入表,或在兩個連續的時間窗口。

  • 總指標:隻有依靠現有的列在你的桌子上

  • 派生指標:取決於先前計算的總指標

  • 漂移指標:取決於先前計算聚合或派生指標

databricks.lakehouse_monitoring。 MonitorCronSchedule ( quartz_cron_expression:str,timezone_id:str )

基地:對象

刷新進度監控。

quartz_cron_expression :str

時決定的expresssion運行監控。看到例子

timezone_id :str

時區id(例如,“太平洋標準時間”評價石英表達式)。

databricks.lakehouse_monitoring。 MonitorInfo ( table_name:str,profile_type:聯盟(InferenceLog,TimeSeries,快照],output_schema_name:可選(str],狀態:MonitorStatus,profile_metrics_table_name:str,drift_metrics_table_name:str,monitor_version:int,baseline_table_name:可選(str]=沒有一個,時間表:可選(MonitorCronSchedule]=沒有一個,slicing_exprs:可選(列表(str]]=沒有一個,custom_metrics:可選(列表(metrics.Metric]]=沒有一個,assets_dir:可選(str]=沒有一個,dashboard_id:可選(str]=沒有一個 )

基地:對象

所有監控信息,即配置、資產和狀態的監控。

assets_dir :可選(str] =沒有一個

工作區目錄存儲監控資產,包括儀表板及其相關查詢。

baseline_table_name :可選(str] =沒有一個

基線比較輸入表的表。看到databricks.lakehouse_monitoring.create_monitor ()為進一步的細節。

custom_metrics :可選(列表(databricks.data_monitoring.metrics.Metric]] =沒有一個

自定義指標計算除了內置的指標。看到databricks.lakehouse_monitoring.Metric為進一步的細節。

dashboard_id :可選(str] =沒有一個

Id的儀表板可視化計算指標。這可以是空的,如果監控處於懸而未決的狀態。

drift_metrics_table_name :str

表的名稱漂移指標。

monitor_version :int

版本號的監視器配置用於刷新管道。

output_schema_name :可選(str]

名稱的模式來存儲輸出指標表。這可能是沒有如果輸出模式後無法監控。

profile_metrics_table_name :str

表名稱的配置指標。

profile_type :聯盟(databricks.data_monitoring.analysis.InferenceLog,databricks.data_monitoring.analysis.TimeSeries,databricks.data_monitoring.analysis.Snapshot]

剖析了放在桌子上的類型。這決定了監測的指標計算。看到databricks.lakehouse_monitoring.create_monitor ()為進一步的細節。

時間表 :可選(databricks.data_monitoring.metadata.MonitorCronSchedule] =沒有一個

監控調度的運行刷新。

slicing_exprs :可選(列表(str]] =沒有一個

表達式,確定數據片的計算標準。看到databricks.lakehouse_monitoring.create_monitor ()為進一步的細節。

狀態 :databricks.data_monitoring.metadata.MonitorStatus

狀態的監控。

table_name :str

監測的表的名稱。

databricks.lakehouse_monitoring。 MonitorStatus ( 價值 )

基地:str,枚舉

跟蹤現有監控的狀態

活躍的 =“MONITOR_STATUS_ACTIVE”

監視器是活躍的,像預期的那樣工作

DELETE_PENDING =“MONITOR_STATUS_DELETE_PENDING”

班長被刪除。其狀態可能不一致,不能使用

錯誤 =“MONITOR_STATUS_ERROR”

一個操作在監視器上導致一個可恢複錯誤。細節可以找到錯誤的監控信息(見databricks.lakehouse_monitoring.get_monitor ())。用戶可以通過更新監控修複錯誤。

失敗的 =“MONITOR_STATUS_FAILED”

一個操作在監視器上產生了一個不可恢複的錯誤。細節可以在監控信息(見找到databricks.lakehouse_monitoring.get_monitor ())。用戶可以隻刪除如果需要監控和重新創建它。

等待 =“MONITOR_STATUS_PENDING”

班長正在更新。其狀態可能不一致,不能使用

databricks.lakehouse_monitoring。 RefreshInfo ( refresh_id:str,狀態:RefreshState,start_time_ms:int,end_time_ms:可選(int]=沒有一個,消息:可選(str]=沒有一個 )

基地:對象

輸出的信息刷新操作指標。

end_time_ms :可選(int] =沒有一個

時間刷新操作完成自1/1/1970 UTC時間(單位為毫秒)。

消息 :可選(str] =沒有一個

一個可選的消息提供更多關於刷新的當前狀態的信息。

refresh_id :str

刷新操作的惟一id。

start_time_ms :int

時間刷新操作發起自1/1/1970 UTC時間(單位為毫秒)。

狀態 :databricks.data_monitoring.metadata.RefreshState

狀態(databricks.lakehouse_monitoring.RefreshState)的刷新操作。

databricks.lakehouse_monitoring。 RefreshState ( 價值 )

基地:str,枚舉

不同狀態的刷新操作

失敗的 =“失敗”

一個錯誤發生在刷新。這是一個終端狀態。

等待 =“等待”

已開始進行刷新,但等待運行。

運行 =“奔跑”

正在進行刷新。

成功 =“成功”

刷新完成成功沒有任何錯誤。這是一個終端狀態。

databricks.lakehouse_monitoring。 快照

基地:對象

Snapshot-based分析通用數據類型規範。

databricks.lakehouse_monitoring。 TimeSeries ( timestamp_col:str,粒度:列表(str] )

基地:對象

分析類型為時間序列數據規範。

粒度 :列表(str]

粒度數據聚合成時間窗的基於時間戳。目前支持以下靜態粒度:{“5分鍾”,“30分鍾”,“1一小時”,“1日”,“< n >星期(s)”,“1月”,“1年”}。

timestamp_col :str

每一行的列包含時間戳。

錯誤

異常 databricks.lakehouse_monitoring。 LakehouseMonitoringError

基地:異常

一個錯誤從Lakehouse監控服務。