文中内容仅限技术学习与代码实践参考,市场存在不确定性,技术分析需谨慎验证,不构成任何投资建议。
Apache Atlas 框架是一套可扩展的核心基础治理服务,使企业能够有效、高效地满足 Hadoop 中的合规性要求,并支持与整个企业数据生态系统集成。这将通过使用规范和取证模型,以及技术和运营审计以及由业务分类元数据丰富的沿袭,在 Hadoop 中提供真正的可视性。它还使任何元数据使用者能够互操作,而无需彼此独立的接口——元数据存储是通用的。通过利用 Apache Ranger 来维护元数据的准确性,以防止在运行时对数据进行未经授权的访问。安全性基于角色 (RBAC) 和属性 (ABAC)。
分类传播
Classification Propagation
- 分类传播使得与某个实体关联的分类可以自动关联到该实体相关的其他实体。这在处理数据集从其他数据集派生数据的场景时非常有用——例如,一个表从文件加载数据、一个报表从表或视图生成等。
- 例如,当一个表被分类为 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 支持在血缘边中阻止特定分类的传播。
例如,这在以下场景很有用:在创建视图时,被分类为 PII 的列被屏蔽;在这种情况下,如果视图中的对应列可能不具有 PII,因此应阻止 PII 分类的传播。
可以通过更新血缘边,将 PII 分类添加到 ‘blocked propagated classifications’ 列表中来实现。
被阻止传播的分类列表中的分类将不会在派生/下游实体中传播。
通知与审计
当传播的分类被添加/更新/删除时,Apache Atlas 会向 ‘ATLAS_ENTITIES’ 主题发送通知,通知中包含受传播影响的每个实体。
术语表
当分类与术语表术语关联时,该分类会自动传播到与该术语关联的所有实体。
风险提示与免责声明
本文内容基于公开信息研究整理,不构成任何形式的投资建议。历史表现不应作为未来收益保证,市场存在不可预见的波动风险。投资者需结合自身财务状况及风险承受能力独立决策,并自行承担交易结果。作者及发布方不对任何依据本文操作导致的损失承担法律责任。市场有风险,投资须谨慎。