1. 概述
1.1 應用場景
使用者想了解某個管道任務是誰編輯的、編輯時間、斷點相關資訊等,FDL 工程內的 管道任务运维 無法滿足需求。
1.2 實現思路
使用者可根據實際需求,使用 FineDB 資料庫中的資料管道表 ,篩選出需要的欄位,最後將多張表進行聯動即可。
1.3 任務展示
FineDataLink 中的資料處理程式,詳情參見:https://demo.finedatalink.com/ 中的定時任務:「BI儀表板展示管道任務資訊」。
使用 FDL 匯出的資料,製作的儀表板如下圖所示:
詳情請參見:https://demo.fanruan.com/decision 中的「BI儀表板展示管道任務資訊」。
2. 操作步驟
2.1 場景模擬
本文範例最終形成的寬表中包含以下欄位:
欄位 | 使用到的表 | 對應表欄位 | 進行聯動的欄位 |
---|---|---|---|
操作類型 | fine_dp_operate_history | operate_type | task_id |
操作使用者 | operate_user | ||
任務名稱 | task_name | ||
任務路徑 | task_path | ||
操作時間 | operate_time | ||
斷點類型 | fine_dp_pipeline_savepoint | TYPE | TASK_ID |
斷點儲存的值 | VALUE | ||
斷點建立時間 | CREATE_TIME | ||
斷點更新時間 | UPDATE_TIME | ||
表字元編碼 | fine_dp_pipeline_schema | TABLE_CHARSET | TASK_ID |
表名稱 | TABLE_FULL_NAME | ||
斷點位置 | POSITION | ||
提交時間 | COMMIT_TIME |
2.2 取出表欄位
注:本文方案適用於 FineDB 資料庫已遷移到 MySQL 的場景,不適用於內建 FineDB 資料庫;實際場景中,使用者按需調整 SQL 語句。
1)建立定時任務,拖入「資料轉換」節點,進入「資料轉換」節點。
2)拖入「DB表輸入」算子,取出 fine_dp_operate_history(任務操作歷史記錄表)中所需的欄位。如下圖所示:
將 operate_time 欄位的時間戳格式轉換為日期格式,過濾出任務類型是資料管道的資料。
select operate_type as 操作類型,operate_user as 操作使用者,task_id,task_name as 任務名稱,task_path as 任務路徑,
DATE_FORMAT(FROM_UNIXTIME(`operate_time` / 1000), '%Y-%m-%d %H:%i:%s') AS 操作時間
from `demo1`.`fine_dp_operate_history` where task_type='PIPELINE_DEVELOP'
點選「資料預覽」,如下圖所示:
3)再拖入一個「DB表輸入」算子,取出 fine_dp_pipeline_savepoint(管道任務斷點續傳配置表)中所需的欄位。如下圖所示:
將 CREATE_TIME、UPDATE_TIME 欄位的時間戳格式轉換為日期格式。
select TYPE as 斷點類型,VALUE as 斷點儲存的值,TASK_ID,
DATE_FORMAT(FROM_UNIXTIME(`CREATE_TIME` / 1000), '%Y-%m-%d %H:%i:%s') AS 斷點建立時間,
DATE_FORMAT(FROM_UNIXTIME(`UPDATE_TIME` / 1000), '%Y-%m-%d %H:%i:%s') AS 斷點更新時間
FROM `demo1`.`fine_dp_pipeline_savepoint`
點選「資料預覽」,如下圖所示:
3)再拖入一個「DB表輸入」算子,取出 fine_dp_pipeline_schema(資料管道表結構變化依賴表)中所需的欄位。如下圖所示:
將 COMMIT_TIME 欄位的時間戳格式轉換為日期格式。
select TABLE_CHARSET as 表字元編碼,TABLE_FULL_NAME as 表名稱,POSITION as 斷點位置,TASK_ID,
DATE_FORMAT(FROM_UNIXTIME(`COMMIT_TIME` / 1000), '%Y-%m-%d %H:%i:%s') as 提交時間
FROM `demo1`.`fine_dp_pipeline_schema`
點選「資料預覽」,如下圖所示:
2.3 表聯動
將 2.2 節三張表使用「資料聯動」算子聯動起來,形成一張寬表。
「資料聯動」算子設定如下圖所示:
2.4 刪除無用欄位
拖入「欄位設定」算子,將連結欄位 task_id、TASK_ID1、TASK_ID2欄位刪除。如下圖所示:
2.5 匯出資料
1)拖入「DB表匯出」算子,將處理後的資料匯出。如下圖所示:
寫入方式選擇「追加寫入資料」即可。
2)點選右上角「儲存」按鈕。
2.6 效果查看
1)點選「儲存並運作」按鈕,任務運作成功後,目標表資料如下圖所示:
2)BI 中,可根據目標表做儀表板展示管道任務資訊。如下圖所示: