Apache Atals简介
元数据的管理是一个受到越来越多关注的领域,Apache Atlas是元数据领域中最早也是最具名气的一个解决方案。最早由Hortonworks的团队开发,并开源成为一个顶级的项目。
Apache Atlas的整体架构如下
atlas architecture
可以看到元数据管理系统,其实结构较为简单,类似一个数据字典的管理系统。这其中比较重要的是,怎么定义数据结构能够满足现在异构的数据仓库场景,其次便是现有的系统如何与元数据管理系统有比较好的集成。
Atalas 使用Hbase 作为底层存储,JanusGraph作为数据血缘的图存储,同时使用Solr支持搜索的服务。通过与Kafka的对接实现推的更新模式。他同时开发API来支持主动拉取的模式。
如何安装与使用
我试验过多种安装的方式,官方给出的通过github来进行安装的会碰到诸多的问题。通过编译也需要做一些改变比如
- maven没有使用https,因为2020年一月份之后maven centrel强制https的访问,因此必须要改用Https才可以执行。
- 使用了javax.annotation, java 9+之后由于修改了javax的定义,因此需要将JAVA_HOME设定到1.8的版本,maven才能够正常的编译。
经过一阵挣扎,还是选择使用了Dockerhub上的项目https://github.com/sburn/docker-apache-atlas。
结论
优点
- Hadoop生态中的元数据管理的最完整解决方案,并且CDH可以提供官方的支持。系统设计的没有侵入性,如果自己的数据存储与Atalas支持的非常匹配的话,使用起来比较快速。
- 因为是最早出来的解决方案,所以相关的数据血缘的支持会更加丰富,比如还会有其他的开源项目支持Atlas给出的元数据存储。例如Amundsen,Spark的血缘项目也已Atlas为最终写入对象。
缺点
- 对于不同的存储的支持比较有限,RDBMS都需要自主开发才能进行很好的结合。而且开发的文档维护的也不是很好,基本需要直接看代码来完成开发。
- Classification 以及 Glossary的区分没有很明确,用的时候没有非常清楚在实践中什么应当作为classification什么应当作为Glossary。
- 社区活跃度并不高,导致项目本身具备一定的不确定性。在测试使用的过程中系统速度并没有很快速。
网友评论