MaxCompute在高德大資料上的應用

weixin_34402408發表於2019-02-18

摘要:2019年1月18日,由阿里巴巴 MaxCompute 開發者社群和阿里雲棲社群聯合主辦的“阿里雲棲開發者沙龍大資料技術專場”走近北京聯合大學,本次技術沙龍上,高德資料技術專家苗翌辰為大家分享了高德如何應用MaxCompute來管理資料架構,開發易用、高效以及彈性的高德應用,為使用者提供更優質的出行服務。

以下內容根據演講視訊以及PPT整理而成

一、高德的業務和資料

地圖描繪需要很多支撐資料,包括現實中的道路資訊、路形以及路況等。下面的軌跡熱力圖展示了高德地圖顯示的北京聯合大學的周邊路況,描繪了點、線和麵三種資訊。通過地圖資訊和軌跡資料疊加形成區域熱力。其中,不同顏色的軌跡展示了該區域一天內不同時間段的路況。

下面展示了高德的一些業務場景。第一個場景是大家日常使用的高德APP。高德地圖是蘋果中國的戰略合作伙伴,第二個場景展示了高德為蘋果提供的出行服務。高德向整個網際網路行業開放了其生態能力,第三個場景是高德為APP應用開放者提供的位置服務介面,目前使用該介面進行開發的移動應用包括手機淘寶、今日頭條和小米運動等。另外,第四個場景是高德為車載裝置提供的完善的位置服務方案。

高德地圖的業務架構可以用“442陣型”來形容,即分為客戶端、中間層、服務引擎以及基礎地理資訊等4層,同時包含AppleMaps、高德App、第三方App以及車載裝置等4個業務入口。另外,數字“2”是指高德地圖依賴於兩個資料來源,即自採資料、行業合作資料組成的基礎地理資訊和軌跡資料、行車資料等服務引擎產生的資料。“442陣型”的業務架構給高德的發展帶來了質的飛躍。

下圖是高德總裁劉振飛先生正在慶祝高德十一DAU突破一個億的歷史時刻。十一期間,高德為全網使用者提供導航的總里程超過135億公里,相當於在太陽和地球之間往返45次。高德提供海量服務的背後是高德強大的大資料計算能力、超過數千臺的高德叢集節點和承載超過百 PB資料的叢集儲存容量。



二、如何管好資料

SPA架構

高德的資料架構稱為“SPA架構”。“S”指代Source,即資料來源層,收容了高德內部所有的位置、地圖和影象資料。“P”指代Platform,即資料平臺,提供了資料倉儲、資料適配和資料探勘能力來支撐上層的資料應用層,也就是Application(“A”)。在“SPA架構”中,高德最關注獲取資料的許可權,即要求所有資料操作都應該符合安全規範。此外,高德還要求所有部門都明確其開發目標,並且使用統一的平臺工具進行開發。

資料研發

資料研發的全鏈路過程包括資料整合、資料開發、運維中心、資料質量、資料地圖、資料安全以及資料服務等。高德對資料平臺的要求不僅僅是以上全鏈路都 All in One,還希望都能以視覺化的方式進行使用者互動,以提高開發效率。以運維中心為例,希望所使用的工具能夠將排程節點視覺化,並方便進行不同時間粒度的任務依賴。同時,我們還希望擁有視覺化的資料地圖用於管理後設資料資訊,方便上下游即時檢視。MaxCompute正是符合高德資料業務訴求的給力產品。

MaxCompute平臺特點

高德使用的MaxCompute平臺具有以下三個特點:
第一, 易用性,具有零學習成本和完善的IDE等優勢。
第二, 效率,高德內部迄今為止最大的公共專案“魔方”就是運用阿里雲和MaxCompute實現的。
第三, 彈性,高德於十一期間的流量遠遠超出想象。

易用-上雲

2014年,高德的資料架構依賴Flume進行資料採集,依賴一個僅含幾百臺機器的hadoop叢集和Hive等軟體實現資料處理。2014年9月份高德內部提出“上雲”,即將資料遷移到阿里雲,使非流程化的作業得到流程化的管理。與其他複雜的資料遷移工作相比,2014年高德實現了“一鍵”上雲,將源資料的同步從Flume切換成TimeTunnel,後續再可配置化地切換資料。此外,遷移還伴隨著程式碼修改,2014年高德“上雲”僅修改了非常少的程式碼,比如修改老版本M2中的介面等。上方的資料儲存層將資料介質替換成OTS等雲端產品,以支援更加穩定的前臺應用。高德將所有叢集資料都遷移到“雲上”僅花了兩個月時間。

“上雲”為高德帶來的收益不可估量。圖1展示了“上雲”後由雲端管理所有程式碼;圖2展示了一鍵式運維管理;圖3展示了可計量的計算資源管理,量化地顯示各個任務的資源使用情況;圖4展示了流程化的視覺化安全審批操作。從2014年“上雲”到如今2018年,高德經歷了飛速的發展,同時也暴露出了一些問題。

效率-魔方

煙囪過多是資料倉儲中比較麻煩的問題,高德同樣存在該問題。資料使用者可能需要花費一個月尋找資料所在部門、資料的相關產品負責人以及研發人員以索要資料。2017年高德盤點資料倉儲時發現,高德內部存在二十個資料倉儲專案,並且各個資料倉儲間的資料冗餘度高達百分之三十,嚴重影響了團隊工作效率。此外,高德資料倉儲還存在高時延缺點,核心資料無法保證每天“7點產出”。基於以上兩個問題,高德發起了“魔方”專案,將二十個倉庫合併成一個以實現全集團的資料治理。

顯而易見,要實現全集團的資料治理專案存在嚴峻的挑戰。首先,資料量非常大,“魔方”專案要求實現百PB級資料的全域資料治理。其次,參與人員眾多,“魔方”專案涉及到高德全產線的所有資料開發人員,專案團隊超過百人。最後,排期緊,為了使資料架構升級不影響正常業務,高德要求“魔方”專案的主體開發工作應在兩個半月內完成。此外,資料遷移工作在越短時間內完成對企業的收益就越大,因此高德要求“魔方”專案應在儘量短的時間內完成。應對這幾個挑戰的主體思路就是引入高效率的研發工具,在規範化的流程中實現協同開發,提高團隊的工作效率。

為此,高德首先統一了工具平臺,引入了MaxCompute,下圖藍色部分皆為MaxCompute 為我們帶來的業務收益。在數百人的團隊中統一規範無疑是困難的,而MaxCompute提供了程式碼編寫規範、排程配置規範以及研發自測規範等規範化模組。其中,程式碼編寫規範模組使用 SQL Scan 工具自動化地檢查程式碼是否符合規範,排程配置規範模組提供了完善的使用者手冊及各種模板輔助開發人員完成配置。統一流程要求實現定製化地管理資料開發流程,包括研發測試、開發自測、排程測試、QA測試以及最後的上線部署等流程。此外,統一建模和語言、統一資料核定標準也非常重要。

阿里雲提供了一些優秀工具以構建規範化流程。第一,提供了資料血緣視覺化工具,幫助資料開發團隊及時地跟蹤源資料、資料的上游和下游等資訊。第二,提供了開發/測試流程並行的能力,以支援完善的協同開發和高效運轉的工作。第三,提供了程式碼雲端版本管理工具,允許實時檢視程式碼變更、程式碼管理狀態並支援回滾。第四,提供了一鍵資料探查工具,允許資料開發人員通過簡單的配置探查海量資料的欄位空值率,有效值率,表重複率等資訊,極大地提高了資料開發人員的工作效率。

在規範化的流程以及眾多效率工具的幫助下,高德在規定時間內完成了“魔方”專案開發,得到了一致好評。高德最終統一了資料倉儲,將內部所有百P級資料的月增速降低了40%,同時資料計算效率提升了30%。即使在2018年十一的流量轟炸時期,高德仍然實現了核心資料的“5點產出”目標(5點到7點需完成核心資料計算任務)。




彈性-十一

2018年十一期間,高德的資料處理量隨業務快速增長,資料計算任務的效能和平臺的穩定性都受到了極大的考驗。

資料血緣視覺化工具允許資料開發人員視覺化地檢視系統資源配置,下圖展示了高德在2018年9月2日的系統實際使用計算水位,其中,藍線是系統配額水位,黃線是系統的實際計算水位。阿里雲提供的彈性計算能力允許在一定彈性資料量範圍內保證系統資源的正常計算和輸出。此外,阿里雲還提供了穩定的計算環境,保證計算任務高效地運轉,同時避免資源競爭問題。另外,為了更好地利用系統計算資源,高德團隊提出了“提高藍線、打散黃線”方案,申請擴大叢集資源配額提升算力空間,通過排程錯峰打散實際資源水位。在擴容方面,MaxCompute為高德帶來了一鍵資源擴容能力,使得叢集擴容在小時級別的時間內完成。最後,高德還實現了計算優化,提供了人員線上值守等保障。下圖同時展示了高德在2018年10月2日的系統計算水位,藍線代表的“系統配額水位”遠高於9月2日的,說明叢集擴容工作已順利完成。同時,黃色代表的“實際資源配額水位”已完全被藍線cover,更好地保障了資源計算任務。此外,黃色高峰被明顯打散,一些重要非核心資料被錯峰排程到7點,說明計算資源的錯峰排程工作也已順利完成。阿里雲提供的一鍵運維排程工具能夠保證系統方便的進行排程錯峰,節省人力。MaxCompute為高德帶來的彈效能力使得高德於2018年10月2日實現了核心資料“3點產出”的驕人成果。

業務成果

下圖展示了中國的路網覆蓋圖,華東、華北和華南地區基本實現了道路全網覆蓋,西部等偏遠地區的道路交通還不夠發達,許多道路仍在建設。路網覆蓋對高德而言非常重要,高德需要用盡可能少的成本自動地發掘新路和過期路。

高德將軌跡資料資產和地圖建設能力結合起來構建軌跡熱力圖,輔以現有路網和資料探勘演算法以自動化地發現新路和過期路。此外,高德還結合區域通車流量和該區域相關的使用者上報事件來動態地發現封路、交通事件,更好地實現路網挖掘。

路況預測是高德的另一個重要業務,即實時預測道路的通車狀況、道路是否擁堵等。左圖展示了高德對右圖路段從早到晚的平均車速預測,紅線表示資料累計得到的歷史均值,藍線表示模型預測值,黑線表示真實資料值。藍線和黑線基本重合,有力地說明了高德應用的資料探勘能力和統一資料倉儲建設取得的成果。

此外,高德還面向全網使用者開放了一個城市級資料產品,允許使用者隨時檢視城市的道路擁堵狀況和城市擁堵指數等相關資料,該產品可在report.amap.com/ 頁面訪問。下圖顯示了該產品給出的北京北二環某路段一週內的擁堵狀況。



三、未來展望

技“數”高德表達了高德的未來規劃。作為一家資料公司,高德致力於豐富資料來源、優化SPA資料結構,得到更強大的資料平臺,為使用者提供更優秀的出現工具。從企業責任出發,高德希望能通過自身努力,幫助社會智慧化地解決交通擁堵問題。從應用生態出發,高德希望能夠幫助生態建立更加場景化的LBS服務,共同打造更專業的位置服務應用。

高德致力於在未來繼續聯手阿里雲,實現“連線真實世界,讓出行更美好!”的行業願景。

原文連結:yq.aliyun.com/articles/68…


相關文章