一、问题描述
atlasEntity实体的relationship属性更新(删除)操作,Apache Atlas默认是逻辑删除,查询会携带relationship的状态:

业务要求达到物理删除。
二、解决思路
2.1 服务端修改(采纳)
先debug看下删除逻辑,如果有预留的物理删除操作,则直接替换;如果没有,则考虑修改源码添加删除操作;
2.2 应用端修改
在业务系统的应用端把所有DELETED状态的数据过滤掉返回;虽然这个办法最省力,但是效率是最差的,属于没办法的办法,优先级最低。
三、解决方案
3.1 前置代码逻辑
由于上篇文章侧重点是新建entity的relationship问题,本篇是修改,前置逻辑一样,就不在使用冗余信息了,参考上篇文章:Apache Atlas 源码跟踪和修改- entity的relationship查询无序问题
3.2 relationship核心更新代码
3.2.1 删除旧元素入口:
package:org.apache.atlas.repository.store.graph.v2
class:EntityGraphMapper
method:mapArrayValue

本文介绍了如何在Apache Atlas中实现实体relationship属性的物理删除,通过修改服务端代码和配置文件,从逻辑删除切换到硬删除,避免在查询时返回DELETED状态的数据。


被折叠的 条评论
为什么被折叠?



