管道監控三角洲生活表

本文描述了如何使用內置功能在三角洲住表為監控和可觀察性管道,包括數據沿襲,更新曆史和數據質量報告。

您可以手動審查大部分監控數據通過管道詳細信息界麵。一些任務更容易完成通過查詢事件日誌的元數據。看到δ生活表事件日誌是什麼?

管道的細節可以在UI什麼?

管道圖顯示盡快更新管道已成功啟動。在你的管道箭頭表示數據之間的依賴關係。默認情況下,管道的細節頁麵顯示最近更新的表,但是你可以從一個drowndown菜單選擇年長的更新。

細節顯示包括管道ID、源庫,計算成本,產品版本、磚的運行時版本,和通道配置的管道。

運行用戶是管道所有者和管道更新運行與該用戶的權限。改變運行作為用戶,請點擊權限和改變管道所有者。

你怎麼能查看數據集詳細信息嗎?

點擊一個數據集的管道圖顯示數據集的詳細信息。細節包括數據集模式,數據質量度量,並鏈接回源代碼定義數據集。

視圖更新曆史

查看管道的曆史和狀態更新,單擊更新曆史記錄下拉菜單。

查看圖,細節,和事件更新,選擇下拉菜單的更新。返回最新的更新,點擊顯示最新更新

得到管道的通知事件

為管道等事件接收實時通知成功完成管道更新或管道更新的失敗,添加為管道添加郵件通知事件當您創建或編輯一個管道。

δ生活表事件日誌是什麼?

三角洲生活事件日誌表包含了所有相關的信息管道,包括審計日誌,數據質量檢查,管道的進步,和數據血統。您可以使用事件日誌跟蹤、了解和監控您的數據管道。

您可以查看事件日誌條目在三角洲地區的生活表的用戶界麵,三角洲生活表API,或者直接查詢事件日誌。本文主要關注直接查詢事件日誌。

事件日誌模式

下表描述了事件日誌模式。這些字段包含需要執行一些查詢解析JSON數據,如細節字段。磚支持:操作符來解析JSON字段。看到(結腸)算子

描述

id

事件日誌記錄的惟一標識符。

序列

一個JSON文檔,其中包含元數據來識別和秩序的事件。

起源

一個JSON文檔,其中包含元數據的起源事件,例如,雲提供商,地區,user_id或pipeline_id。

時間戳

時間事件被記錄。

消息

一個人類可讀的描述事件的消息。

水平

事件類型,例如,信息、警告、錯誤,或指標。

錯誤

如果一個錯誤發生,細節描述錯誤。

細節

一個JSON文檔,其中包含結構化事件的細節。這個主要用於分析事件。

event_type

事件類型。

maturity_level

穩定的事件模式。可能的值是:

  • 穩定的:模式是穩定的,不會改變。

  • :模式是穩定的,不會改變。可能的價值如果記錄被創建之前maturity_level字段添加(2022.37版本)。

  • 不斷發展的:模式不穩定,可能會改變。

  • 棄用:模式是棄用和三角洲生活表運行時可能在任何時間停止生產這個事件。

查詢事件日誌

事件日誌的位置和接口查詢事件日誌取決於你的管道配置為使用蜂巢metastore或統一目錄。

蜂巢metastore

如果你的管道發布蜂巢metastore表事件日誌存儲/係統/事件存儲的位置。例如,如果您已經配置了管道存儲設置為/用戶/用戶名/數據事件日誌存儲在/用戶/用戶名/數據/係統/事件在DBFS路徑。

如果你沒有配置存儲設置,默認的事件日誌位置/管道/ < pipeline-id > /係統/事件在DBFS。例如,如果你的ID管道91年de5e48 - 35 - ed - 11 - ec - 8 d3d - 0242 ac130003,存儲位置/管道/ 91 de5e48 - 35 - ed - 11 - ec - 8 d3d - 0242 ac130003 /係統/事件

你可以創建一個視圖來簡化查詢事件日誌。下麵的示例創建一個臨時的視圖event_log_raw。這個視圖中使用本文中的示例事件日誌查詢包括:

創建取代臨時視圖event_log_raw作為選擇*δ' <event_log_path> ';

取代< event_log_path >事件日誌的位置。

每個管道運行的實例稱為一個更新。你經常想提取信息最近更新。運行下麵的查詢來找到最近的更新和保存它的標識符latest_update_id臨時視圖。這個視圖中使用本文中的示例事件日誌查詢包括:

創建取代臨時視圖latest_update作為選擇起源update_id作為idevent_log_raw在哪裏event_type=“create_update”訂單通過時間戳DESC限製1;

你可以查詢在磚的筆記本或事件日誌SQL編輯器。使用筆記本或SQL編輯器運行示例事件日誌查詢。

統一目錄

如果你的管道統一目錄發布表,你必須使用event_log表值函數(TVF)獲取管道的事件日誌。你檢索事件日誌管道通過管道TVF ID。例如,管道與ID檢索事件日誌04 c78631 - 3 - dd7 - 4856 b2a6 d84e9b2638b——7:

選擇*event_log(“04 c78631 - 3 - dd7 - 4856 - b2a6 - 7 - d84e9b2638b”)

調用TVF,您必須使用一個共享的集群或SQL倉庫。例如,您可以使用一個筆記本連接到一個共享的集群或使用SQL編輯器連接到一個SQL倉庫。

默認情況下,event_logTVF隻能由管道所有者調用。與其他用戶分享事件日誌和簡化查詢事件管道,管道的所有者可以創建一個視圖event_log時變濾波,然後與其他用戶共享視圖。下麵的示例創建一個視圖在管道的事件日誌,然後向用戶授予權限查詢視圖。這個視圖中使用本文中的示例事件日誌查詢包括:

創建視圖event_log_raw作為選擇*event_log(“< pipeline-ID >”);格蘭特選擇視圖event_log_raw用戶@com;

取代< pipeline-ID >與三角洲生活的惟一標識符表管道。你可以找到的ID管道的細節UI麵板在三角洲地區的生活表。

每個管道運行的實例稱為一個更新。你經常想提取信息最近更新。運行下麵的查詢來找到最近的更新和保存它的標識符latest_update_id臨時視圖。這個視圖中使用本文中的示例事件日誌查詢包括:

創建取代臨時視圖latest_update作為選擇起源update_id作為idevent_log_raw在哪裏event_type=“create_update”訂單通過時間戳DESC限製1;

從事件日誌查詢血統信息

事件包含血統信息事件類型flow_definition。的細節:flow_definition對象包含output_datasetinput_datasets定義中的每個關係圖。

您可以使用以下查詢提取輸入和輸出數據集看到血統信息:

選擇細節:flow_definitionoutput_dataset作為output_dataset,細節:flow_definitioninput_datasets作為input_datasetevent_log_raw,latest_update在哪裏event_type=“flow_definition”起源update_id=latest_updateid

output_dataset

input_datasets

1

beplay体育app下载地址

2

sales_orders_raw

3

sales_orders_cleaned

(“beplay体育app下载地址客戶”、“sales_orders_raw”)

4

sales_order_in_la

[" sales_orders_cleaned "]

事件日誌的查詢數據質量

如果你在管道數據集上定義的期望,存儲在數據質量指標細節:flow_progress.data_quality.expectations對象。事件包含的信息數據質量事件類型flow_progress。下麵的示例查詢的最後一根輸油管之後的數據質量標準更新:

選擇row_expectations數據集作為數據集,row_expectations的名字作為期望,總和(row_expectationspassed_records)作為passing_records,總和(row_expectationsfailed_records)作為failing_records(選擇爆炸(from_json(細節:flow_progress:data_quality:預期,“數組< struct <名稱:字符串,數據集:字符串,passed_records: int, failed_records: int > >”))row_expectationsevent_log_raw,latest_update在哪裏event_type=“flow_progress”起源update_id=latest_updateid)集團通過row_expectations數據集,row_expectations的名字

數據集

期望

passing_records

failing_records

1

sales_orders_cleaned

valid_order_number

4083年

0

通過查詢事件日誌監控數據積壓

三角洲生活表跟蹤多少數據存在積壓的細節:flow_progress.metrics.backlog_bytes對象。事件包含積壓指標事件類型flow_progress。下麵的示例查詢積壓指標在過去的管道更新:

選擇時間戳,(細節:flow_progress指標backlog_bytes)作為待辦事項列表event_log_raw,latest_update在哪裏event_type=“flow_progress”起源update_id=latest_updateid

請注意

積壓指標可能不是可根據管道的數據源類型和磚的運行時版本。

監視增強的自動定量事件從事件日誌

事件日誌捕捉集群會自動啟用增強的自動定量時管道。事件包含的信息增強的自動定量事件類型自動定量。信息存儲在集群調整請求細節:自動定量對象。下麵的示例查詢集群增強的自動定量調整請求過去管道更新:

選擇時間戳,(情況下細節:自動定量狀態=“調整”然後細節:自動定量requested_num_executors其他的結束)作為starting_num_executors,(情況下細節:自動定量狀態=“成功”然後細節:自動定量requested_num_executors其他的結束)作為succeeded_num_executors,(情況下細節:自動定量狀態=“PARTIALLY_SUCCEEDED”然後細節:自動定量requested_num_executors其他的結束)作為partially_succeeded_num_executors,(情況下細節:自動定量狀態=“失敗”然後細節:自動定量requested_num_executors其他的結束)作為failed_num_executorsevent_log_raw,latest_update在哪裏event_type=自動定量的起源update_id=latest_updateid

監控計算資源利用率

cluster_resources事件提供指標在集群的任務名額,這些任務槽利用多少,有多少任務等待安排。

當啟用增強的自動定量時,cluster_resources事件還包含自動定量度量算法,包括latest_requested_num_executors,optimal_num_executors。事件也顯示算法等不同狀態的狀態CLUSTER_AT_DESIRED_SIZE,SCALE_UP_IN_PROGRESS_WAITING_FOR_EXECUTORS,BLOCKED_FROM_SCALING_DOWN_BY_CONFIGURATION。這些信息可以結合自動定量事件提供一個增強的自動定量的整體圖片。

下麵的示例查詢任務隊列大小曆史過去管道更新:

選擇時間戳,(細節:cluster_resourcesavg_num_queued_tasks)作為queue_sizeevent_log_raw,latest_update在哪裏event_type=“cluster_resources”起源update_id=latest_updateid

下麵的示例查詢利用曆史過去管道更新:

選擇時間戳,(細節:cluster_resourcesavg_task_slot_utilization)作為利用event_log_raw,latest_update在哪裏event_type=“cluster_resources”起源update_id=latest_updateid

下麵的示例查詢執行程序計算曆史,伴隨著指標隻能對增強自動定量管道,包括執行器的數量要求的算法的最新要求,推薦的最優數量的執行人算法基於最近的指標,和自動定量算法狀態:

選擇時間戳,(細節:cluster_resourcesnum_executors)作為current_executors,(細節:cluster_resourceslatest_requested_num_executors)作為latest_requested_num_executors,(細節:cluster_resourcesoptimal_num_executors)作為optimal_num_executors,細節:cluster_resources狀態作為autoscaling_stateevent_log_raw,latest_update在哪裏event_type=“cluster_resources”起源update_id=latest_updateid

審計三角洲住表管道

您可以使用三角洲生活表事件日誌記錄和其他磚審計日誌得到一個完整的數據被更新在三角洲住表。

三角洲生活表使用管道所有者的憑證來運行更新。你可以改變使用的憑證更新管道所有者。三角洲生活表記錄用戶操作的管道,包括管道的創建、編輯配置和觸發更新。

看到配置審計日誌記錄。統一目錄審核日誌事件信息,請參閱審計事件統一目錄

事件日誌中查詢用戶操作

您可以使用事件日誌審計事件,例如,用戶操作。事件包含的信息用戶操作事件類型user_action

信息存儲在行動user_action對象細節字段。使用以下查詢構建用戶事件的審計日誌。創建event_log_raw視圖中使用這個查詢,看看查詢事件日誌

選擇時間戳,細節:user_action:行動,細節:user_action:user_nameevent_log_raw在哪裏event_type=“user_action”

時間戳

行動

user_name

1

2021 - 05 - 20 - t19:36:03.517 + 0000

開始

user@company.com

2

2021 - 05 - 20 - t19:35:59.913 + 0000

創建

user@company.com

3

2021 - 05 - 27 - t00:35:51.971 + 0000

開始

user@company.com

運行時信息

你可以查看管道運行時信息更新,例如,磚的運行時版本的更新:

選擇細節:create_update:runtime_version:dbr_versionevent_log_raw在哪裏event_type=“create_update”

dbr_version

1

11.0