數據治理意義重大,傳統的數據治理采用文檔的形式進行管理,已經無法滿足大數據下的數據治理需要。而適合於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實戰電子書