Amundsen在REA Group公司的應用實踐
REA Group是一家專門面向房地產與實業資產的跨國數字廣告公司。
他們主要為消費者提供房地產購買、出售與租賃服務,同時發布各類房產新聞、裝修技巧以及生活方式層面的內容。每一天,都有數百萬消費者訪問REA Group網站。
REA Group每天都需要進行大量的數據分析工作,去分析用戶,財務等資訊,該公司也掌握了大量的數據。
但是要使用數據,就必須先找到數據所在。在數據工作中面臨做多的問題是:這些數據是否存在?我該如何訪問?數據存在哪?最後更新時間是什麼時候?
實際上,數據科學家和分析人員將大約20%的時間僅用於查找所需的數據,這佔用了他們大量的時間和精力。
很多公司都存在類似的問題,也有很多數據治理的解決方案,但是沒有一個完美的解決方案。在評估了多種方案以後,REA Group公司最終選擇了Lyft的開源元數據引擎Amundsen。本文將介紹其應用實現過程,以及如何進行了訂製化的改造。
為什麼選擇Amundsen
選擇合適的解決方案最重要的是充分了解自己的需求,選擇最合適自己的。
每一種方案擅長的領域不同,而此次需要的重點是幫助使用者搜索數據,獲取有關該數據的基本資訊,以及知道該問誰尋找更多的資訊。
所以選擇Amundsen是基於以下因素:
- 適合 想要的大多數功能,包括與BigQuery和Airflow的集成,都已經在Amundsen中提供。在搜索結果中設置優先順序,以查看最常用的表也是可以使用的功能。還需要用戶可以查看所有表的元數據。這些都是Amundsen開箱即用的功能。
- 自動化 Amundsen專註於顯示自動生成的元數據。這樣可以節約大量的人力去手工維護。
- 易於使用 Amundsen具有清晰,直觀,快速的UI。
- 開源 開源的優勢不僅僅是免費,而且可以靈活的進行訂製化研發,而且Amundsen的社區非常活躍,正處於上升期。
但是,在選擇Amundsen時,也有很多問題沒有解決。
例如,Amundsen當前缺少數據血緣功能,無法顯示數據的來龍去脈。
所以必須確定好,如果進行訂製化研發,是否有足夠的人員可以跟進,這將是額外的開銷。
如何實施Amundsen
Amundsen有三個主要的微服務:Frontend服務,Search服務(依賴Elasticsearch)和Metadata服務(依賴Neo4j或者Atlas)
在REA Group,Google BigQuery是其主資料庫。技術堆棧主要基於Amazon Web Services(AWS)。
因此,我們針對Amundsen的整個解決方案都部署在AWS中。
所有三個Amundsen微服務都作為容器部署在Amazon Elastic Container Service(ECS)上,Neo4j資料庫存儲所有元數據,前端通過元數據服務進行查詢。
部署好Amundsen的相關服務以後,下一步的難題就是從BigQuery獲取元數據,這裡使用了Amundsen數據生成器庫,Extractor從BigQuery提取元數據並將其引入Neo4j,而Indexer將Neo4j的元數據索引到Elasticsearch中。
訂製化研發了Amundsen表詳細資訊頁面
高級搜索頁面
未來
在2020年11月發布的Beta版以後,REA Group得到非常好的使用回饋。
但也有很多的問題,比如表描述的缺失,所以必須鼓勵數據發布者填寫這些描述。隨著不斷的迭代,REA Group也會為開源社區做出進一步的貢獻。包括如何將Amundsen用作其他數據治理工作的補充,例如隱私和數據品質。
隨著越來越多的公司意識到元數據的重要性,Amundsen由於其功能,易用性和開源性也會成為最優選擇~