1. 概述
atlas是一个hadoop生态系统元数据以及数据治理的一个框架,目前最新版本是1.0
2. 组成结构
atlas主要包括core, integration, metadata sources, applications等组件
3. core
3.1 type system
atlas允许用户为元数据对象定义一个模型,该模型由称为“类型“的定义组成,“类型“的实例被称为“实体“,“实体“表示实际元数据对象,type system允许用户定义以及管理“类型“和“实体“,由atlas管理的所有元数据对象都使用“类型“进行建模,并表示为“实体“,用户要在atlas存储元数据,需要理解type system的一些概念。
关键要知道atlas建模的本质是,允许数据管理员定义技术元数据以及业务元数据,此外,还能用atlas的特征定义两两之间的关系。
3.2 graph engine
atlas底层使用图模型持久化元数据对象,以实现对元数据对象之间关系的高效处理以及灵活性,graph engine负责type system中类型以及实体和底层图持久化模型之间的转换,此外,graph engine还为元数据对象创建索引。atlas使用JanusGraph存储元数据对象。
3.3 ingest/export
ingest把元数据导入到atlas,export导出由atlas检测到的元数据更改,以作为事件引发。消费者消费这些更改事件,实时的响应元数据更改。
3.4 integration
用户能通过两种方法管理atlas中的元数据。
3.4.1 api
atlas提供rest api对上述类型以及实体进行增、删、改,这是主要的查询和发现类型以及实体的机制。
3.4.2 messaging
除了api,用户还能选择使用基于kafka的消息接口和atlas集成,这对于将元数据对象导入atlas以及从atlas使用可以构建应用程序的元数据更改事件都很有用。atlas使用kafka作为通知服务器用于钩子(hook)和元数据通知事件的下游消费者之间的通信,事件由钩子以及atlas写到不同的kafka主题。
3.5metadata sources
atlas支持与许多元数据源的集成,目前atlas支持从hbase, hive, sqoop, storm, kafka这些数据源导入以及管理元数据
3.6 applications
atlas管理的元数据会被很多应用消费,满足许多数据治理的用例。
3.7 tag based policies
ranger是一个高级的hadoop生态系统权限管理解决方案,和hadoop生态系统中的许多组件具有广泛的集成。通过和atlas集成,ranger允许管理员定义元数据驱动的安全策略,以实现有效的数据治理,ranger是atlas通知的元数据更改事件的消费者。