元数据管理与数据治理平台:Apache Atlas 通知和业务元数据 Notifications And Business Metadata
文中内容仅限技术学习与代码实践参考,市场存在不确定性,技术分析需谨慎验证,不构成任何投资建议。
Apache Atlas 框架是一套可扩展的核心基础治理服务,使企业能够有效、高效地满足 Hadoop 中的合规性要求,并支持与整个企业数据生态系统集成。这将通过使用规范和取证模型,以及技术和运营审计以及由业务分类元数据丰富的沿袭,在 Hadoop 中提供真正的可视性。它还使任何元数据使用者能够互操作,而无需彼此独立的接口——元数据存储是通用的。通过利用 Apache Ranger 来维护元数据的准确性,以防止在运行时对数据进行未经授权的访问。安全性基于角色 (RBAC) 和属性 (ABAC)。
通知
Notifications
Apache Atlas 的通知
Apache Atlas 会将关于元数据变更的通知发送到名为 ATLAS_ENTITIES 的 Kafka topic。
对元数据变更感兴趣的应用程序可以监听这些通知。
例如,Apache Ranger 会处理这些通知,以便根据分类来授权数据访问。
通知 - V2:Apache Atlas 1.0 版本
Apache Atlas 1.0 针对以下元数据操作发送通知。
ENTITY_CREATE: 当创建实体实例时发送
ENTITY_UPDATE: 当更新实体实例时发送
ENTITY_DELETE: 当删除实体实例时发送
CLASSIFICATION_ADD: 当向实体实例添加分类时发送
CLASSIFICATION_UPDATE: 当更新实体实例的分类时发送
CLASSIFICATION_DELETE: 当从实体实例移除分类时发送
通知包含以下数据。
AtlasEntity entity;
OperationType operationType;
List<AtlasClassification> classifications;
通知 - V1:Apache Atlas 0.8.x 及更早版本
来自 Apache Atlas 0.8.x 及更早版本的通知,其内容格式有所不同,详情如下。
操作
ENTITY_CREATE: 当创建实体实例时发送
ENTITY_UPDATE: 当更新实体实例时发送
ENTITY_DELETE: 当删除实体实例时发送
TRAIT_ADD: 当向实体实例添加分类时发送
TRAIT_UPDATE: 当更新实体实例的分类时发送
TRAIT_DELETE: 当从实体实例移除分类时发送
通知包含以下数据。
Referenceable entity;
OperationType operationType;
List<Struct> traits;
Apache Atlas 1.0 可以配置为以旧版本格式发送通知,而非最新版本格式。
这对于尚未准备好处理最新版本格式通知的部署环境会很有帮助。
要将 Apache Atlas 1.0 配置为以早期版本格式发送通知,请在 atlas-application.properties 中设置以下配置:
atlas.notification.entity.version=v1
发送到 Apache Atlas 的通知
Apache Atlas 可通过向名为 ATLAS_HOOK 的 Kafka topic 发送通知,来接收元数据变更和血缘信息。
Apache Hive / Apache HBase / Apache Storm / Apache Sqoop 的 Atlas hook 使用此机制,将感兴趣的事件通知给 Apache Atlas。
ENTITY_CREATE : 创建一个实体。更多详情请参考 Java 类 HookNotificationV1.EntityCreateRequest
ENTITY_FULL_UPDATE : 更新一个实体。更多详情请参考 Java 类 HookNotificationV1.EntityUpdateRequest
ENTITY_PARTIAL_UPDATE : 更新实体的特定属性。更多详情请参考 HookNotificationV1.EntityPartialUpdateRequest
ENTITY_DELETE : 删除一个实体。更多详情请参考 Java 类 HookNotificationV1.EntityDeleteRequest
ENTITY_CREATE_V2 : 创建一个实体。更多详情请参考 Java 类 HookNotification.EntityCreateRequestV2
ENTITY_FULL_UPDATE_V2 : 更新一个实体。更多详情请参考 Java 类 HookNotification.EntityUpdateRequestV2
ENTITY_PARTIAL_UPDATE_V2 : 更新实体的特定属性。更多详情请参考 HookNotification.EntityPartialUpdateRequestV2
ENTITY_DELETE_V2 : 删除一个或多个实体。更多详情请参考 Java 类 HookNotification.EntityDeleteRequestV2
业务元数据
Business Metadata
概述
Atlas 类型系统允许用户为想要管理的元数据对象定义模型并创建实体。通常,该模型会捕获技术属性——如名称、描述、创建时间、副本数量等;元数据对象由监控真实对象的流程创建和更新。通常有必要用附加属性扩充技术属性,以捕获有助于组织、搜索和管理元数据实体的业务细节。例如,来自营销部门的管理员可以为活动定义一组属性,并将这些属性添加到相关的元数据对象中。
创建业务元数据
业务元数据是 Atlas 类型系统支持的一种类型——类似于 entity、enum、struct、classification 类型。业务元数据类型可以具有原始类型的属性——类似于 struct 类型。此外,每个业务元数据属性可以与多个 entity-type 关联,如 hive_db/hive_table/hbase_table。
在实体实例上添加业务属性
一旦业务元数据属性与 entity-type 关联,Apache Atlas 即可通过 UI 和 REST API 为实体赋值。
使用业务属性搜索实体
Apache Atlas 支持基于业务属性值查找实体——可通过 UI 和 REST API 实现。
授权
Apache Atlas 的授权机制已更新,可控制谁可以创建业务元数据并在实体上更新业务属性。Apache Ranger 授权插件已更新,以支持针对这些操作的策略。
REST API
Apache Atlas 提供 REST API,用于创建和更新业务元数据、在实体上添加/更新业务属性,以及基于业务实体属性查找实体。有关更多详细信息,请参阅 REST API 文档。
风险提示与免责声明
本文内容基于公开信息研究整理,不构成任何形式的投资建议。历史表现不应作为未来收益保证,市场存在不可预见的波动风险。投资者需结合自身财务状况及风险承受能力独立决策,并自行承担交易结果。作者及发布方不对任何依据本文操作导致的损失承担法律责任。市场有风险,投资须谨慎。