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由於其功能,易用性和開源性也會成為最優選擇~