事件日誌監控管道與三角洲生活表

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

每個管道的事件日誌存儲在一個三角洲DBFS表。您可以查看事件日誌條目在三角洲地區的生活表用戶界麵三角洲住表API,或者直接查詢δ表。本文主要關注查詢δ表。

例如筆記本電腦包括本文中討論的查詢,可以用來探索三角洲生活事件日誌表。

需求

本文中的示例使用JSON SQL函數可以在磚運行時8.1或更高版本。

事件日誌位置

事件日誌存儲在/係統/事件存儲的位置。例如,如果您已經配置了管道存儲設置為/用戶/用戶名/數據事件日誌存儲在/用戶/用戶名/數據/係統/事件在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 /係統/事件

事件日誌模式

下表描述了事件日誌模式。這些字段包含JSON文檔要求解析執行一些查詢。例如,分析數據質量指標要求解析字段細節JSON文檔。本文中的示例演示使用Python函數執行所需的解析。

描述

id

管道的惟一標識符。

序列

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

起源

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

時間戳

時間事件被記錄。

消息

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

水平

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

錯誤

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

細節

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

event_type

事件類型。

maturity_level

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

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

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

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

事件日誌查詢

你可以創建一個視圖來簡化查詢事件日誌。下麵的示例創建一個視圖event_log_view。這種觀點是用於查詢事件日誌記錄下麵的例子:

event_log=火花格式(“δ”)負載(event_log_path)event_logcreateOrReplaceTempView(“event_log_raw”)

取代event_log_path事件日誌位置

每個管道運行的實例稱為一個更新。一些下麵的查詢中提取信息的最新更新。運行以下命令找到最近的更新和保存它的標識符latest_update_id變量:

latest_update_id=火花sql(“選擇起源。update_id從event_log_raw在哪裏event_type=“create_update”ORDER BY timestamp DESC LIMIT 1")收集()(0]update_id火花相依(“latest_update.id”,latest_update_id)

審計日誌記錄

您可以使用事件日誌審計事件,例如,用戶操作。事件包含的信息用戶操作事件類型user_action。信息存儲在行動user_action對象細節字段。使用以下查詢構造一個審計日誌的用戶事件:

選擇時間戳,細節: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

血統

你可以看到你的管道圖的可視化表示δ生活表的用戶界麵。您也可以通過編程提取這些信息來執行任務,比如生成報告合規或整個組織跟蹤數據依賴關係。事件包含血統信息事件類型flow_definition。信息存儲在譜係flow_definition對象細節字段。中的字段flow_definition對象包含必要的信息來推斷數據集之間的關係:

選擇細節:flow_definitionoutput_dataset,細節:flow_definitioninput_datasetsevent_log_raw在哪裏event_type=“flow_definition”起源update_id=“$ {latest_update.id}”

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。當一個期望上定義一個數據集,數據質量度量存儲在字段的細節flow_progress.data_quality.expectations對象。下麵的示例查詢的最後一根輸油管之後的數據質量標準更新:

選擇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在哪裏event_type=“flow_progress”起源update_id=“$ {latest_update.id}”)集團通過row_expectations數據集,row_expectations的名字

數據集

期望

passing_records

failing_records

1

sales_orders_cleaned

valid_order_number

4083年

0

積壓指標

您可以使用事件日誌查詢積壓指標。事件包含訂單信息指標的事件類型flow_progress。信息存儲在積壓指標flow_progress.metrics.backlog_bytes中的對象細節字段。下麵的示例查詢積壓指標在過去的管道更新:

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

請注意

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

磚增強的自動定量的事件

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

選擇時間戳,(情況下細節:自動定量狀態=“調整”然後細節:自動定量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在哪裏event_type=自動定量的起源update_id=“$ {latest_update.id}”

運行時信息

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

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

dbr_version

1

11.0

例如筆記本電腦

事件日誌查詢三角洲生活表

在新標簽頁打開筆記本