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

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

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

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

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

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

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


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


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

血缘边上的传播标志
Apache Atlas 支持在血缘边上设置标志,以启用或禁用分类通过该边的传播。默认情况下,血缘边的传播是启用的。当该标志被关闭时,任何分类都不会通过这条边传播;当前已通过该边传播的分类的传播状态会被重新评估,以便将它们从受影响的实体中移除。当该标志被打开时,源实体的分类传播状态会被重新评估,以便将它们传播到所有受影响的实体。
在血缘边上阻止特定分类的传播
Apache Atlas 支持在血缘边(lineage edge)上阻止特定分类的传播。例如,可以用于处理这样的场景:某一列被标记为 PII,在创建视图时会被脱敏;在这种场景下,创建的视图中对应的列可能不包含 PII,因此应当阻止 PII 分类的传播。实现方式是更新血缘边,将 PII 分类添加到 「阻止传播的分类」(blocked propagated classifications)列表中。被阻止传播的分类不会传播到派生实体/下游实体中。

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