场景数据开发人员在开发ETL的时候,可能会误删除ETL,或者修改ETL并保存后又想撤销修改,恢复历史版本。但是由于ETL没有回收站或者历史版本相关功能,因此如果想要单独恢复ETL的历史版本,目前还不支持。本文将以相对简便且无风险的方式,使用观远BI现有的功能实现以上需求。 注意:本文方案不是在原来的ETL上恢复数据,而是新建ETL导入ETL的历史版本,重现ETL的构造细节。 前提:「管理员设置--运维管理--审计日志」里能找到该ETL的保存操作的记录。 实现步骤一、审计日志查ETL历史保存记录的备注管理员用户进入「管理员设置--运维管理--审计日志--用户操作」,输入对应的ETL名称,设置历史版本的时间范围,筛选「描述」里“保存ETL”的用户操作记录,找到对应时间的ETL保存操作的备注,并复制下来。 二、将备注里的数据转换成可导入的json文件1. 把备注数据转JSON1)如果备注内容格式为:requestBody = "JSON字符串",则需要删除requestBody = " "的字符部分,仅保留JSON字符串,然后删除JSON字符串里的全部\转义符。 2)备注内容格式为:{JSON字符串},则不需要处理。 2. 提取备注中actions的内容1)打开一个可以在线编辑JSON的网址,如:Json在线编辑 。把JSON字符串拷贝到左边区域,点击向右箭头进行解析,然后删除右侧除actions外的其他节点; 2)再点击向左箭头,把 actions 转回 JSON字符串,现在格式为 {"actions": [JSON字符串]},仅保留并复制JSON字符串备用(不包括[]这组方括号)。 3. 在BI里新建ETL,导出JSON模板4. 制造可导入的JSON模板继续打开一个新的JSON在线编辑窗口,将上一步导出的JSON模板里的内容复制粘贴进去;将action里的内容完整粘贴到meta的[ ]中去,验证结构无缺失的话,保存左边的内容,生成一个新的JSON文件(文件名后缀为.json)。操作参考下图。 三、导入JSON文件,生成新的ETL在新的ETL里导入模板后就能看到当时历史版本里各个节点的构造细节了,如果需要预览数据或者重新输出数据,需要重新选择输入数据集、设置保存路径,SQL节点也需要重新进入编辑界面提交并预览。 |