save流程图
2022-09-15 16:03:03 0 举报
save流程图
作者其他创作
大纲/内容
setStepTypeId(\"501\")setExecuteEngineupdateMappingInfoById
如果有排序节点,则将排序节点移到最后一步执行
源ftp,目标ftp的ip地址与文件位置均相同,请修改!
是
最后一步
deleteHopByMappingId
true
......
否
checkAccountPeriod
setStepTypeId
获取第一步骤的所有子步骤信息
映射名称和id不能为空
使用集合记录整个步骤串联顺序
表输出
deleteByMappingId
null == mapping
校验保存的映射参数信息
mapping.getIsJob() == 1&&checkSameFtp
!checkSeparate
获取用户缓存UserInfo userInfo
Mapping
id-映射idname-映射名称executeEngine-映射指定的执行引擎ktrLocation-映射路径transKtrFlag-文件标志位isJob-是否为作业steps-映射步骤lineList-映射连线保存isMultipleInput-是否为多表输入
!getStepIdsByMappingId(mappingId).isEmpty()
checkMultipleInput
删除映射历史数据失败,请重新保存!
通过映射Id删除步骤数据
4.插入step信息
1.参数校验
null == mapping.getName()||null == mapping.getId()
getStepTypeName()
更新映射的基础信息(bd_etl_mapping表)
解析每根线
convertList2HopList
是否多表输出参数错误,IsMultipleInput值为:
checkSheetName
transStepList
checkLineList
checkTimestamp
映射主表信息更新失败!
!checkName.isEmpty()
系统异常,参数为空
updateHiveFlag
getStepTypeName() == 拆分 || 合并
5.插入映射线段的连接信息
将前端上报的步骤串联
!updateMappingBaseInfo
7.获取最后一步的stepId并解析连线信息
0
过滤
null == userInfo
isNull(firstStep)
映射中输入输出步骤之间未连线
从第一步开始的
!deleteStepInfoByMappingId
mapping.getIsMultipleInput()
将流程分解出多个关键步骤
映射中最多含有一个时间戳步骤
表输入
从第一步开始追溯步骤顺序
setMappingIdsetChildLineinsert
当前用户不在此项目下,无操作权限
getStepTypeName() == 表输出
!checkCutStringStep
最后找到如果存在去重步骤,则需要在其之前加一个排序步骤最后找到如果存在账期步骤,则需要在其之前加一个常量步骤最后找到如果存在脱敏步骤,则需要在其之前加一个替换Null值步骤如果找到分组步骤,则需要在其之后加一个执行sql脚本步骤
firstStepList.isEmpty()
FTP 上传
表输入,执行sql脚本同时存在,取执行sql脚本作为初始步骤firstStep = step
!checkUserInProject
如果该映射为多表输入,则将第一步骤替换
checkSingleInput
映射名称重复,请修改名称!
setIdsetMappingNamesetSourceDbInfosetDestDbInfosetIsMultipleInputsetExecuteEngine
结束
needCheck
时间戳
getStepTypeName() == HBASE 输出
第一步
获取所有的输出步骤getLastStepList
转换步骤里面包含hive分隔符
添加转换步骤的基础信息
处理最后一步的stepId如果表输出和聚合转换同时存在,取聚合转换的stepId作为最后一步的stepId,反之取表输出的stepId
checkStepData
insert
2.更新主表信息
遍历集合拿到每一步的下一步情况进行分析,将整个映射所有的步骤进行串联
default
3.删除数据库中历史数据
映射中最多含有一个账期步骤
saveStep
!getStepIdByMappingId(mappingId).isEmpty()
setCreateUsersetCreateTimesetUpdateUsersetUpdateTimesetMappingId
getStepIdByMappingIddeleteAttributeByStepIddeleteByMappingId
6.保存kettle使用的hop信息
1
saveHops
剪切结束位置必须大于剪切起始位置,请重新输入!
mapping.getIsJob() == 0
遍历下一步骤不是最终节点,则依次插入集合
emptyList(stepList)
setStepBaseInfo
updateMappingInfoById(bdEtlMapping)
isEmpty()
excel工作表名称填写错误,请检查上传文件后修改。
bdEtlMapping
checkSaveMappingData
校验mapping中的字段类型是否能过支持转换
保存映射的步骤
mapping.getIsJob != 1
0 条评论
下一页