1. 程式人生 > >Amundsen在REA Group公司的應用實踐

Amundsen在REA Group公司的應用實踐

REA Group是一家專門面向房地產與實業資產的跨國數字廣告公司。 他們主要為消費者提供房地產購買、出售與租賃服務,同時釋出各類房產新聞、裝修技巧以及生活方式層面的內容。每一天,都有數百萬消費者訪問REA Group網站。 ![](https://img2020.cnblogs.com/blog/1089984/202103/1089984-20210329165949795-451496262.png) REA Group每天都需要進行大量的資料分析工作,去分析使用者,財務等資訊,該公司也掌握了大量的資料。 但是要使用資料,就必須先找到資料所在。在資料工作中面臨做多的問題是:這些資料是否存在?我該如何訪問?資料存在哪?最後更新時間是什麼時候? 實際上,資料科學家和分析人員將大約20%的時間僅用於查詢所需的資料,這佔用了他們大量的時間和精力。 ![](https://img2020.cnblogs.com/blog/1089984/202103/1089984-20210329170002048-594373179.png) 很多公司都存在類似的問題,也有很多資料治理的解決方案,但是沒有一個完美的解決方案。在評估了多種方案以後,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中。 ![](https://img2020.cnblogs.com/blog/1089984/202103/1089984-20210329170012423-1459599894.png) 所有三個Amundsen微服務都作為容器部署在Amazon Elastic Container Service(ECS)上,Neo4j資料庫儲存所有元資料,前端通過元資料服務進行查詢。 部署好Amundsen的相關服務以後,下一步的難題就是從BigQuery獲取元資料,這裡使用了Amundsen資料生成器庫,Extractor從BigQuery提取元資料並將其引入Neo4j,而Indexer將Neo4j的元資料索引到Elasticsearch中。 ![](https://img2020.cnblogs.com/blog/1089984/202103/1089984-20210329170026188-2126855697.png) 定製化研發了Amundsen表詳細資訊頁面 ![](https://img2020.cnblogs.com/blog/1089984/202103/1089984-20210329170033787-644336234.png) 高階搜尋頁面 ![](https://img2020.cnblogs.com/blog/1089984/202103/1089984-20210329170039695-2018433959.png) ## 未來 在2020年11月釋出的Beta版以後,REA Group得到非常好的使用反饋。 但也有很多的問題,比如表描述的缺失,所以必須鼓勵資料釋出者填寫這些描述。隨著不斷的迭代,REA Group也會為開源社群做出進一步的貢獻。包括如何將Amundsen用作其他資料治理工作的補充,例如隱私和資料質量。 隨著越來越多的公司意識到元資料的重要性,Amundsen由於其功能,易用性和開源性也會成為最