1.引言
當前屬于大數據時代,數據爆炸式增長,當然管理數據的工具也是層出不窮,從傳統的單機關系型數據庫PostgreSQL、Oracle、MySQL、MS SQL到擅長分析的Greenplum、Clickhouse、Vertica等,再到前幾年火的不要不要的Hadoop體系,種類繁多的數據管理軟件,也得有上百種了。以下截圖節選自知名VC Matt Turck分享的數據棧:
完整圖片獲取地址:http://mattturck.com/wp-content/uploads/2021/12/2021-MAD-Landscape-v3.pdf
2.問題的產生
當然我們今天不是要討論這些數據管理軟件的優劣。大家從第一部分也可以看到,數據管理軟件層出不窮,小型企業可能并不能切身感受到多種數據技術帶來的苦惱,但是稍微成規模的企業,總要有自己的業務系統數據庫、分析型數據平臺、海量數據存儲的平臺等等,那么這么多平臺帶來的最直觀的問題就是管理。
數據平臺多,數據可能存在多個不必要的副本,數據質量就無法保證,數據的空間感就會很差,數據管理的混亂,導致的直接問題就是,業務無法第一時間找到最合適的數據源,數據平臺之間不能產生數據的聯動。
這個問題不是剛出現的問題,在數據發展的歷史長河中,已經有很多人對這個問題進行了研究,進而產生了各種開源與閉源方案。那么今天,我們就來看看近幾年由Linkedin開源的元數據管理/數據治理平臺:DataHub 是如何解決這個問題的。
3.DataHub簡介
DataHub是由Linkedin開源的,官方喊出的口號為:The Metadata Platform for the Modern Data Stack – 為現代數據棧而生的元數據平臺。官方網站傳送門。目的就是為了解決多種多樣數據生態系統的元數據管理問題,它提供元數據檢索、數據發現、數據監測和數據監管能力,幫助大家解決數據管理的復雜性。
DataHub基于Apache License 2開源,采用基于推送的數據收集架構(當然也支持pull拉取的方式),能夠持續收集變化的元數據。當前版本已經集成了大部分流行數據生態系統接入能力,包括但不限于:Kafka, Airflow, MySQL, SQL Server, Postgres, LDAP, Snowflake, Hive, BigQuery。
- 源碼倉庫地址:linkedin/datahub: 該倉庫包含DataHub前端和后端服務的完整源碼。(DataHub采用先進的前后端分離架構)linkedin/datahub-gma: 該倉庫包含DataHub元數據搜索和發現服務GMA
4.DataHub主要功能
DataHub是端到端的元數據發現工具,可以幫助數據管理者挖掘其公司數據的價值。DataHub的主要功能特點如下。
4.1 端到端搜索和發現
4.1.1 在數據庫、數據湖、BI平臺、ML特征存儲、工作流配置等數據資產中進行[元數據集中查詢搜索]
從下面兩個截圖可以看到,在DataHub里面搜索health,從所有的元數據(BigQuery數據集、DataHub Tags/Users等)中,得到了所有相關結果,可以在結果中,點擊查看相關的結果。
4.1.2 通過跨平臺、數據集、管道的[血緣關系追蹤],輕松理解數據的端到端旅程
從下面兩個截圖可以看到,“DataHub Health”這個查詢的依賴關系表一級一級的展示出來,可以通過點擊?展開下一級內容。通過使用lineage視圖,可以詳細地查看在數據集和管道中的依賴關系。
4.1.3 通過線性血緣圖,快速獲取相關實體的上下文
從下面截圖可以看到,通過在圖上點擊相關實體,可以很容易地查看文檔、使用狀態、用戶等信息。
4.1.4 獲取數據集準確性和相關性的確切信息
DataHub針對流行的數據倉庫平臺提供數據集合的詳細信息瀏覽和實用信息統計,讓數據從業者更容易理解數據的形態。
4.2 構造堅實的文檔和標簽基礎
上面4.1部分展示的是DataHub的搜索查看特性,本節介紹一下它在維護編輯方面的特性。
4.2.1 通過API或DataHub UI獲取并維護公司的知識庫
隨著我們日常操作中定義和用例的豐富,DataHub可以輕松地更新和維護文檔。除了通過GMS管理文檔外,DataHub通過UI界面提供豐富的文檔和外部支持鏈接操作界面。
4.2.2 通過API或DataHub UI創建和定義新的標簽(tag)
通過下圖可以看到,在DataHub中可以通過GraphQL API輕松的創建和添加任何實體標簽,這樣隨著時間的推移,實體的屬性回越來越豐富。當有一天我們想要查看某一標簽的相關實體信息時,只需要在標簽位置點擊該標簽,就會將所有相關的實體數據列出來。
4.3 觸手可及的數據治理
元數據管理平臺,最終的目的是實現數據的有效治理,DataHub提供一系列的數據治理功能,本部分介紹它的幾個特性。
4.3.1 快速將資產所有權分配給用戶或用戶組
通過點擊實體的詳細信息,進入詳細信息瀏覽界面,可以在【Owners】部分輕松快速的將該資產分配給某個用戶或用戶組。如下圖所示:
4.3.2 使用策略管理細粒度訪問控制
DataHub管理員可以創建相應的策略,來定義誰可以在哪些資源上執行什么樣的活動。在制定策略時,同時管理員還可以進行如下指定操作:
- 平臺型策略 – 最高級別的DataHub平臺權限,比如用戶管理、組管理和策略管理等
- 資源型策略 – 指定資源類型,比如數據集、看板、管道等
- 權限策略 – 選擇權限范圍集合,比如編輯用戶、編輯文檔、編輯鏈接等
- 用戶或組策略 – 分配相關的用戶或組;比如可以直接將策略分配給資源使用的用戶,而不必太關注他屬于哪個組
下面給大家放一張直觀的策略分配圖:
4.4 元數據質量和使用分析
通過DataHub可以對元數據進行深度挖掘。DataHub提供的分析視圖可以清晰的展示元數據相關的操作信息,比如用戶權限分配的頻繁度、本周活動用戶、常用的搜索條件及活動等。
5.當前支持的數據棧列表
DataHub仍然處于活躍開發階段,在最后這一部分,給大家羅列一下DataHub目前支持的數據棧有哪些:
5.1 支持的數據源有哪些
數據源名稱 | 當前支持狀態 |
Athena | 支持 |
BigQuery | 支持 |
Delta Lake | 計劃支持 |
Druid | 支持 |
Elasticsearch | 支持 |
Hive | 支持 |
Hudi | 計劃支持 |
Iceberg | 計劃支持 |
Kafka Metadata | 支持 |
MongoDB | 支持 |
Microsoft SQL Server | 支持 |
MySQL | 支持 |
Oracle | 支持 |
PostreSQL | 支持 |
Redshift | 支持 |
s3 | 支持 |
Snowflake | 支持 |
Spark/Databricks | 部分支持 |
Trino FKA Presto | 支持 |
5.2 支持的BI工具有哪些
數據源名稱 | 當前支持狀態 |
Business Glossary | 支持 |
Looker | 支持 |
Redash | 支持 |
Superset | 支持 |
Tableau | 計劃支持 |
Grafana | 部分支持 |
5.3 支持的ETL/ELT工具有哪些
數據源名稱 | 當前支持狀態 |
dbt | 支持 |
Glue | 支持 |
5.4 支持的工作流編排工具有哪些
數據源名稱 | 當前支持狀態 |
Airflow | 支持 |
Prefect | 計劃支持 |
最后的最后,如果您感覺我的分享有用,歡迎點贊并關注,后續會繼續分享更具體的Datahub操作案例給大家。
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。