查看原文
其他

Apache Atlas | 元数据管理框架的独舞

張較痩 数据仓库与Python大数据 2022-05-08

点击上方蓝色字关注置顶我们!


相关推荐:从TeraData下滑看数仓行业变化


导读本文由張較痩总结分享授权发布,本文主要从元数据管理框架Apache Atlas、WhereHows&DataHub的定位、功能、架构、对比展开介绍~ღ( ´・` )笔芯~ 再次感谢張較痩投稿!


張較痩,大数据行业新人,就职于北京18线互联网公司,正努力向各位同行和前辈学习中!
☞ 关注公众号『数据仓库与Python大数据』,获取更多优质资源与干货文章

作者: 張較痩

编辑: 紫霞仙子






正文



一、定位

Apache AtlasApache AtlasHadoop社区为解决Hadoop生态系统的元数据治理问题而产生的开源项目,它为Hadoop集群提供了包括数据分类、集中策略引擎、数据血缘、安全和生命周期管理在内的元数据治理核心能力。

Linkedin WhereHowsWhereHowsLinkedIn公司为了方便员工发现公司内部数据、跟踪数据集移动、查看各种内部工具和服务的动向,而开发的用于大数据发现和管理的工具。它从不同的源系统中采集元数据,并进行标准化和建模,从而作为元数据仓库完成血缘分析。

Linkedin DataHubWhereHows项目已于2018年重新被LinkedIn公司设计为DataHub项目。


二、厂商

Apache AtlasAtlas最早由HortonWorks公司开发,用来管理Hadoop项目里面的元数据,进而设计为数据治理的框架。后来开源出来给Apache社区进行孵化,目前得到AetnaMerckTargetSASIBM等公司的支持进行发展演进。因其支持横向海量扩展、良好的集成能力和开源的特点,国内大部分厂家选择使用Atlas或对其进行二次开发。

Linkedin WhereHows&DataHub:由LinkedIn开源,并主要在LinkedIn内部使用。外部应用比较少,暂时没有看到相关应用案例。


三、功能概览

Apache Atlas


1)查看数据仓库中表与表之间的血缘依赖

                           


2)查看数据仓库表中字段与字段之间的血缘依赖

Linkedin WhereHows

1)查看数据仓库中表与表之间的血缘依赖

2)查看数据集和作业流血缘依赖

3)查询元数据

Linkedin DataHub

1)搜索元数据

2)查看元数据

3)编辑元数据

4)查看数据集和作业流血缘依赖



四、架构

Apache Atlas

MetaSource Sources:目前,Atlas支持从以下来源提取和管理元数据:HbaseHiveSqoopStormKafka

Messaging:除了API之外,用户还可以选择使用基于Kafka的消息传递接口与Atlas集成

采集/导出(Ingest/Export):采集组件允许将元数据添加到Atlas。同样,“导出”组件将Atlas检测到的元数据更改公开为事件。

类型系统(Type System):用户为他们想要管理的元数据对象定义模型。Type System称为“实体”的“类型”实例,表示受管理的实际元数据对象。

图形引擎(Graph Engine)Atlas 通过使用图形模型管理元数据对象。

Titan:目前,Atlas 使用 Titan 图数据库来存储元数据对象

Metadata Store<Hbase>:采用Hbase来存储元数据

IndexStore<Solr>:采用Solr来建索引

APIAtlas的所有功能都可以通过REST API提供给最终用户,允许创建、更新和删除类型和实体。它也是查询和发现通过Atlas管理的类型和实体的主要方法。

Atlas Admin UI:该组件是一个基于Web的应用程序,允许数据管理员和科学家发现和注释元数据。Admin UI提供了搜索界面和类SQL的查询语言,可以用来查询由Atlas管理的元数据类型和对象。

Tag Based Policies:权限管理模块。

Business Taxonomy:业务分类

Linkedin WhereHows

WhereHows支持从HDFSTeradataOracleHIveElastic SearchDruid的数据集和AzkabanOozie的作业中将元数据的抽取、加载(ETL)至自身的Repo库。源系统可分为数据集类源系统和作业类源系统。

数据集类源系统:以Hive为例,WhereHowsHive的元数据库MySQL中抽取元数据并存储在自身的元数据仓库中,从而最终可以从WhereHows中查看Hive中的元数据信息,如Hive中有哪些DatabaseDatabase下有哪些表等。WhereHows不能直接得到数据集的血缘,WhereHows中数据集的血缘是从相关作业的分析中得到的。

作业类源系统:以Azkaban为例,假设运行hive任务,则WhereHows可以从Azkaban的元数据库中获取作业信息、并从JobHistory获取实际运行的Hivepig的日志,并对这些元数据以及日志数据解析形成血缘。

Web UI即前端Web组件,提供可视化查询功能。提供展示元数据的UI,包括DatasetsFlows两个功能视图。

REST Endpoint作为服务后端,主要提供API接口和执行ETL作业两个功能。

DataHub

DataHub提供通过直接API调用或Kafka流的形式来摄取元数据。

元数据从Kafka获取,元数据的生成者要生产一个标准化的元数据改变事件(MCE)。

DataHub通过一组通用数据访问对象(DAO)进一步抽象底层数据系统,例如键值DAO、查询DAO和搜索DAO。通过键值DAO的任何更新操作都将自动发出元数据审计事件(MAE)。


五、对比

1AtlasWhereHows血缘分析粒度较细,支持字段级血缘依赖的跟踪。WhereHows仅支持表级。

2AtlasApache Ranger集成,可根据与Atlas中实体相关的分类对数据访问进行授权/数据屏蔽。而WhereHows缺乏有效的用户、权限管理能力。

3WhereHowsAtlas支持的源系统多。

4DataHub刚立项不久,数据管理方面与WhereHows的特性差不多,侧重于元数据的发现(搜索、查询)。

5Atlas在同行业中逐渐普及,社区活跃度远高于WhereHowsDataHub



Reference:

使用Atlas进行元数据管理之Atlas简介

https://www.cnblogs.com/mantoudev/p/9986408.html

元数据治理 Apache Atlas

https://my.oschina.net/sunmin/blog/3064462

Apache Atlas2.0 第二节 架构理解

https://blog.csdn.net/czq850114000/article/details/95463364

Apache atlas 的入门教程

https://blog.csdn.net/cafebar123/article/details/79944247

[Atlas]拥抱开源 - 云上元数据管理

https://www.jianshu.com/p/c65f54dd5e7d

使用 Apache Atlas 进行数据治理

https://www.jianshu.com/p/8c07974111dd

Wherehows调研总结

https://blog.csdn.net/wiborgite/article/details/82467963

WhereHows解读

https://blog.csdn.net/lyly630/article/details/88192250

Wherehows项目简介

https://blog.csdn.net/u011077231/article/details/80994996

LinkedIn 开源其数据中心工具 WhereHows

https://www.jianshu.com/p/604395b49999

DataPipeline丨LinkedIn元数据之旅的最新进展—Data Hub

https://blog.csdn.net/DataPipeline/article/details/100155781

DataHub:通用的元数据搜索和发现工具

https://engineering.linkedin.com/blog/2019/data-hub

如果感觉文章有用,记得分享给你的朋友哦

(在看也是鼓励!)

更多精彩,请戳"阅读原文"到"面试系列"查看


关注不迷路~ 各种干货、资源定期分享



戳原文,升职加薪!       你也「在看」吗?

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存