分类传播
分类传播
- 分类传播使与某个实体关联的分类能够自动关联到该实体的其他相关实体。这对于处理数据集从其他数据集派生数据的场景非常有用,例如从文件加载数据的表、由表生成的报表等。
- 例如,当一个表被标记为 PII 分类时,通过 CTAS 或 'create view' 操作从该表派生数据的表或视图将自动被标记为 PII 分类。
用例
考虑以下血缘关系:'hdfs_path' 实体的数据被加载到一个表中,该表又通过视图对外提供。我们将通过各种场景来了解分类传播功能。

为实体添加分类
当向 'hdfs_path' 实体添加 'PII' 分类时,该分类会传播到血缘路径上所有受影响的实体,包括 'employees' 表以及视图 'us_employees' 和 'uk_employees'——如下所示。

更新与实体关联的分类
对与实体关联的分类所做的任何更新,也会体现在该分类传播到的所有实体上。

移除与实体关联的分类
当从实体中删除某个分类时,该分类也会从其传播到的所有实体中被移除。

在实体之间添加血缘关系
当在实体之间添加血缘关系时(例如记录文件数据加载到表中的过程),与源实体关联的分类也会传播到所有受影响的实体。例如,当从表创建视图时,与该表关联的分类也会传播到新创建的视图。

删除实体
情况 1: 当某个实体被删除时,与该实体关联的分类会从其传播到的所有实体中移除。例如,当删除 employees 表时,与该表关联的分类会从 'employees_view' 视图中移除。

情形 2: 当实体在血缘路径的中间被删除时,传播链路会被打断,之前已传播的分类将从被删除实体的所有派生实体中移除。例如,当 us_employees 表被删除时,经由该表传播的分类(PII)会从 ca_employees 表中移除,因为唯一的传播路径因实体删除而中断。


情形 3: 当实体在血缘路径的中间被删除,但存在可替代的传播路径时,之前已传播的分类将被保留。例如,当 us_employees 表被删除时,经由该表传播的分类(PII)在 ca_employees 表中仍会保留,因为存在两条可用的传播路径,其中只有一条因实体删除而中断。


控制传播
Apache Atlas 提供了若干选项,用于控制分类是否传播以及向何处传播。本节详细介绍这些可用选项。
分类中的传播标志
分类与实体的每次关联都有一个布尔标志,用于控制该分类是否传播。当分类与实体关联时,该标志被设置为“true”,即该分类将传播到所有受影响的实体。该标志可以在初始关联时或之后更新为所需的值。

血缘边中的传播标志
Apache Atlas 支持在血缘边上设置标志,以启用/禁用分类通过该边进行传播。默认情况下,血缘边的传播是启用的。当该标志被关闭时,不会有任何分类通过该边传播;并且当前通过该边传播的分类的传播状态会被重新评估,以便将其从受影响的实体中移除。当该标志被开启时,源实体的分类的传播会被重新评估,以便将其传播到所有受影响的实体。
在血缘边中阻止特定分类的传播
Apache Atlas 支持在血缘边(lineage edges)上阻止特定分类的传播。例如,这一功能可用于处理如下场景:某个被标记为 PII 的列在创建视图时被脱敏;在这种场景下,所创建视图中对应的列可能不包含 PII,因此应阻止 PII 分类的传播。要实现这一点,只需更新血缘边,将 PII 分类加入 “阻止传播的分类”(blocked propagated classifications)列表即可。被列入阻止传播列表的分类不会传播到派生实体或下游实体中。

通知与审计
当传播的分类被添加、更新或删除时,Apache Atlas 会就受传播影响的每个实体向 'ATLAS_ENTITIES' 主题发送通知。
术语表
当某个分类与术语表中的术语关联时,该分类会自动传播到与该术语关联的所有实体。
评论
登录后参与评论
KnowForge