导读
在当今大数据的应用越来越广泛的情况下,数据治理一直是企业面临的巨大问题,大部分只是单纯的对数据进行了处理,而数据的血缘、分类等等却很难实现,市场上也急需要一个专注于数据治理的技术框架,这时Atlas应运而生。
▐ Atlas的定义:
Apache Atlas是Hadoop社区为解决Hadoop生态系统的元数据治理问题而产生的开源项目,它为Hadoop集群提供了包括数据分类、集中策略引擎、数据血缘、安全和生命周期管理在内的元数据治理核心功能。
Atlas支持各种Hadoop和非Hadoop元数据类型,提供了丰富的Rest Api进行集成,对数据血缘的追溯达到了字段级别,对权限也有很好的控制。
▐ Atlas的架构原理:
❑ 核心组件:
(1)Core
Ingest/Export(采集导出组件):Ingest组件允许将元数据添加到Atlas;Export组件暴露由Atlas检测到的元数据更改,以作为事件引发,消费者可以使用这些更改事件来实时响应元数据更改。
Type System(类型系统):Atlas允许用户为他们想要管理的元数据对象定义一个模型。类型系统是一个组件,允许用户定义和管理类型和实体。由Atlas管理的所有元数据对象(如Hive表)都使用类型进行建模,并表示为实体。
Graph Engine(图形引擎):Atlas在内部通过图形引擎来管理元数据对象,以实现元数据之间的巨大灵活性和丰富的关系。Graph Engine是负责在Type System中的类型和实体之间进行转换的组件,以及基础图形模型。除了管理图形对象之外,图形引擎还为元数据对象创建适当的索引,以便有效进行搜索。
JanusGraph(图数据库):用来存储元数据对象。默认情况下,元数据存储配置为HBase,索引存储配置为Solr。
(2)Integration
API:Atlas的所有功能都可以通过Rest Api提供给最终用户,允许创建、更新和删除类型和实体。它也是查询和发现通过Atlas管理的类型和实体