用户想了解某个管道任务是谁编辑的、编辑时间、断点相关信息等,FDL 工程内的 管道任务运维 无法满足需求。
用户可根据实际需求,使用 FineDB 数据库中的数据管道表 ,筛选出需要的字段,最后将多张表进行关联即可。
FineDataLink 中的数据处理过程,详情参见:https://demo.finedatalink.com/ 中的定时任务:「BI仪表板展示管道任务信息」。
使用 FDL 输出的数据,制作的仪表板如下图所示:
详情请参见:https://demo.fanruan.com/decision 中的「BI仪表板展示管道任务信息」。
本文示例最终形成的宽表中包含以下字段:
注:实际场景中,用户按需调整 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.2 节三张表使用「数据关联」算子关联起来,形成一张宽表。
「数据关联」算子设置如下图所示:
拖入「字段设置」算子,将连接字段 task_id、TASK_ID1、TASK_ID2字段删除。如下图所示:
1)拖入「DB表输出」算子,将处理后的数据输出。如下图所示:
写入方式选择「追加写入数据」即可。
2)点击右上角「保存」按钮。
1)点击「保存并运行」按钮,任务运行成功后,目标表数据如下图所示:
2)BI 中,可根据目标表做仪表板展示管道任务信息。如下图所示:
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
Submitted successfully
Network busy