数据治理方案技术调研 Atlas VS Datahub VS Amundsen
数据治理意义重大,传统的数据治理采用文档的形式进行管理,已经无法满足大数据下的数据治理需要。而适合于Hadoop大数据生态体系的数据治理就非常的重要了。
大数据下的数据治理作为很多企业的一个巨大的难题,能找到的数据的解决方案并不多,但是好在近几年,很多公司已经进行了尝试并开源了出来,本文将详细分析这些数据发现平台,在国外已经有了十几种的实现方案。
数据发现平台可以解决的问题
为什么需要一个数据发现平台?
在数据治理过程中,经常会遇到这些问题: 数据都存在哪? 该如何使用这些数据? 数据是做什么的? 数据是如何创建的? 数据是如何更新的?
。。。。。
数据发现平台的目的就是为了解决上面的问题,帮助更好的查找,理解和使用数据。
比如Facebook的Nemo就使用了全文检索技术,这样可以快速的搜索到目标数据。
用户浏览数据表时,如何快速的理解数据? 一般的方式是把列名,数据类型,描述显示出来,如果用户有权限,还可以预览数据。
下面是Amundsen的数据列展示功能。
数据ETL是一个大问题,特别是如何把这些展示出来更是非常难,其实数据的ETL是可以用数据的流向图表示的,很多平台都支持这种功能,比如 Databook,还有Metcat。
Amundsen就和数据调度平台Airflow有着非常好的结合。
数据发现平台对比
下面一张表 对比一下各大平台对于上述功能的支持情况
搜索 | 推荐 | 表描述 | 数据预览 | 列统计 | 占用指标 | 权限 | 排名 | 数据血统 | 改变通知 | 开源 | 文档 | 支持数据源 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Amundsen (Lyft) | Todo | Hive, Redshift, Druid, RDBMS, Presto, Snowflake, etc. | |||||||||||
Datahub (LinkedIn) | Hive, Kafka, RDBMS | ||||||||||||
Metacat (Netflix) | Todo | Todo | Hive, RDS, Teradata, Redshift, S3, Cassandra | ||||||||||
Atlas (Apache) | HBase, Hive, Sqoop, Kafka, Storm | ||||||||||||
Marquez (Wework) | S3, Kafka | ||||||||||||
Databook (Uber) | Hive, Vertica, MySQL, Postgress, Cassandra | ||||||||||||
Dataportal (Airbnb) | Unknown | ||||||||||||
Data Access Layer (Twitter) | HDFS, Vertica, MySQL | ||||||||||||
Lexikon (Spotify) | Unknown |
这里介绍一下五个开源的解决方案
DataHub (LinkedIn)
LinkedIn开源出来的,原来叫做WhereHows 。经过一段时间的发展datahub于2020年2月在Github开源
https://github.com/linkedin/datahub
可以说是一个非常充满活力的项目,有着表结构,搜索,数据血统等功能,还有用户和组等功能。
官方也提供了文档。开源版本支持Hive,Kafka和关系数据库中的元数据。
所以Datahub的使用率还是非常高的。
Amundsen (Lyft)
Lyft 于2019年4月开发了Amundsen,并与10月开源。
https://github.com/amundsen-io/amundsen
Amundsen提供了搜索与排名的功能,帮助更好的查找数据表。
支持的数据源非常丰富,支持hive ,druid等超过15个数据源,而且还提供与任务调度airflow的融合,并提供了与superset等BI工具的集成方式。
而数据血统的功能也正在开发之中。
Metacat(Netflix)
Netflix在2018年6月开源了Metacat。
Metacat支持Hive,Teradata,Redshift,S3,Cassandra和RDS的集成。
不过虽然Metacat开源,但是官方没有提供文档,资料也很少。
Marquez (WeWork)
Wework于2018年10月开源了Marquez
Marquez也对Airflow有着很好的支持。
可以看到Marquez还在持续的更新中,保持关注。
Apache Atlas(Hortonworks)
作为数据治理计划的一部分,Atlas于2015年7月开始在Hortonworks进行孵化。
Atlas 1.0于2018年6月发布,当前版本是2.1。
Atlas的主要目标是数据治理,支持与HBase,Hive和Kafka的集成。
github地址
https://github.com/apache/atlas
丰富的文档
如何选择
首先说一下笔者的选择,虽然对datahub和amundsen非常的感兴趣,最后还是选择了Atlas。
开源,文档的丰富程度,功能,这些在上文表格中都做了详细的对比,如何选择还是要考虑实际情况。
开源的有五家: Amundsen Datahub Metacat Marquez Atlas
有文档的有三家: Amundsen Datahub Atlas
搜索功能较强 : Amundsen
有数据血统功能: Datahub Atlas
考虑到项目的周期,实施性等情况,还是建议大家从Atlas入门,打开数据治理的探索之路。
当然也有公司同时采用了Atlas和Amundsen,Atlas处理元数据管理,利用Amundsen强大的数据搜索能力来做数据搜索,这也是一种不错的选择。
欢迎大家关注 “实时流式计算”
未来, “实时流式计算” 将推出Atlas 2.1 部署与实践 系列文章,推开数据治理之门。
更多Flink,Kafka等实时大数据分析相关技术博文,科技资讯,欢迎关注实时流式计算 公众号后台回复 “电子书” 下载300页Flink实战电子书
数据治理方案技术调研 Atlas VS Datahub VS Amundsen的更多相关文章
- 数据治理的王者——Apache Atlas
一.Atlas是什么? 在当今大数据的应用越来越广泛的情况下,数据治理一直是企业面临的巨大问题. 大部分公司只是单纯的对数据进行了处理,而数据的血缘,分类等等却很难实现,市场上也急需要一个专注于数据治 ...
- 数据治理之元数据管理的利器——Atlas入门宝典
随着数字化转型的工作推进,数据治理的工作已经被越来越多的公司提上了日程.作为Hadoop生态最紧密的元数据管理与发现工具,Atlas在其中扮演着重要的位置.但是其官方文档不是很丰富,也不够详细.所以整 ...
- DataHub——实时数据治理平台
DataHub 首先,阿里云也有一款名为DataHub的产品,是一个流式处理平台,本文所述DataHub与其无关. 数据治理是大佬们最近谈的一个火热的话题.不管国家层面,还是企业层面现在对这个问题是越 ...
- 使用 Apache Atlas 进行数据治理
本文由 网易云发布. 作者:网易/刘勋(本篇文章仅限知乎内部分享,如需转载,请取得作者同意授权.) 面对海量且持续增加的各式各样的数据对象,你是否有信心知道哪些数据从哪里来以及它如何随时间而变化?采 ...
- 企业级数据治理工作怎么开展?Datahub这样做
大数据发展到今天,扮演了越来越重要的作用.数据可以为各种组织和企业提供关键决策的支持,也可以通过数据分析帮助发现更多的有价值的东西,如商机.风险等等. 在数据治理工作开展的时候,往往会有一个专门负责数 ...
- Nebula Graph 在微众银行数据治理业务的实践
本文为微众银行大数据平台:周可在 nMeetup 深圳场的演讲这里文字稿,演讲视频参见:B站 自我介绍下,我是微众银行大数据平台的工程师:周可,今天给大家分享一下 Nebula Graph 在微众银行 ...
- Apache 首次亚洲在线峰会: Workflow & 数据治理专场
背景 大数据发展到今天已有 10 年时间,早已渗透到各个行业,数据需 求越来越多,这使得大数据 业务间的依赖关系也越来越复杂,另外也相信做数据的伙伴肯定对如何治理数据也是痛苦之至,再加上现今云原生时代 ...
- 一文读懂 Spring Boot、微服务架构和大数据治理三者之间的故事
微服务架构 微服务的诞生并非偶然,它是在互联网高速发展,技术日新月异的变化以及传统架构无法适应快速变化等多重因素的推动下诞生的产物.互联网时代的产品通常有两类特点:需求变化快和用户群体庞大,在这种情况 ...
- 成功实施的APS项目故事分享---我们数据治理的心路历程
一.故事背景 A企业是易普优APS重要客户之一,是某行业的龙头企业:APS项目历时7个月顺利上线,十个月验收!通过易普优APS的顺利实施,建成了集团的精益计划管控运营平台,树立计划的权威与指挥棒作用, ...
随机推荐
- Python 的映射数据类型有哪些?零基础小白入门学习必看
1 映射类关系 Python 的 collections.abc 模块内拥有 Mapping 和 MutableMapping 这两个抽象基类,它们为 dict 和其他类似的类型提供了接口定义. mu ...
- Java安全之Commons Collections1分析(三)
Java安全之Commons Collections1分析(三) 0x00 前言 继续来分析cc链,用了前面几篇文章来铺垫了一些知识.在上篇文章里,其实是硬看代码,并没有去调试.因为一直找不到JDK的 ...
- RHSA-2018:1200-重要: patch 安全更新(代码执行)
[root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 修复命令: 使用root账号登陆She ...
- 用 Java 实现的八种常用排序算法
八种排序算法可以按照如图分类 交换排序 所谓交换,就是序列中任意两个元素进行比较,根据比较结果来交换各自在序列中的位置,以此达到排序的目的. 1. 冒泡排序 冒泡排序是一种简单的交换排序算法,以升序排 ...
- git 本地回滚到上一个版本
linux下是 git reset --hard HEAD^ windows下是 git reset --hard HEAD"^"
- 【Jenkins】active choices reactive parameter & Groovy Postbuild插件使用!
注:以上俩插件安装下载直接去jenkins官网或者百度下载即可 一.active choices reactive parameter 插件的使用 1.被关联的参数不做改动 2.添加active ch ...
- Redis的介绍以及安装
redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库,缓存和消息中间件 高速缓存介绍 高速缓存利用内存保存数据,读写速度远超硬盘 高速缓存可以减少 I/O 操作,降 ...
- 【C语言高级编程】你见过长度为0的数组吗?管你信不信,看就完了!
一.什么是零长度数组 零长度数组就是长度为0的数组. ANSI C 标准规定:定义一个数组时,数组的长度必须是一个常数,即数组的长度在编译的时候是确定的.在ANSI C 中定义一个数组的方法如下: 类 ...
- 【线段树分治】Dash Speed
代码的美妙 #include <bits/stdc++.h> %:pragma GCC optimize(3) using namespace std; const int maxn=7e ...
- 【UR #13】Yist
UOJ小清新题表 题目摘要 UOJ链接 给出一个排列 \(A\) 以及它的一个非空子序列 \(B\),给出一个 \(x\) 并进行若干次操作,每一次操作需要在 \(A\) 中选择一个长度恰好为 \(x ...