近日,亞馬遜云科技中國峰會在上海召開。亞馬遜云科技的眾多技術合作伙伴受邀出席峰會,圍繞“構建新格局,重塑云時代”的主題,進行了系列主題演講和產品展示,分享云計算領域的先進技術經驗與企業成功實踐。
Mobvista匯量科技資深架構師、EnginePlus產品負責人陳緒也來到現場,與嘉賓們分享了在Amazon Elastic Kubernetes Service (Amazon EKS) 上部署Spark的干貨經驗,并以Mobvista匯量科技自身為例,介紹了Spark on Amazon EKS的業務實踐成果。
Spark on EKS: 業務增長帶來挑戰
記者了解到,Spark 作為廣泛應用的大數據處理框架,提供了豐富的Data Frame接口以及SQL查詢的功能,同時也可以通過PySpark對接深度學習框架。據悉,匯量科技使用的Spark集群承擔了大規模ETL、數據處理分析、Ad-hoc查詢,以及算法模型訓練的重要任務,現在離線計算集群有上萬CPU核心,每日處理PB級的數據。
陳緒介紹道,其團隊最初采用HDP,在EC2上搭建了彈性的Hadoop服務,但隨著業務規模的發展,更多的挑戰開始顯現:一方面,團隊希望各業務線之間可實現資源隔離,同時具備高效的彈性能力,以保障業務產出時效性;另一方面,系統遇到大規模的臨時查詢作業時,查詢數據量可達數十TB,這給集群的彈性伸縮帶來了很大壓力。對此,陳緒表示:“彈性伸縮的效率影響著作業執行時間和總體成本。因此,我們通過調研,開始嘗試通過容器化的架構來解決上述問題。
匯量科技業務實踐成果:EnginePlus
陳緒介紹稱,團隊選擇了Amazon EKS服務來搭建容器化Spark計算平臺:“將不同的組件劃分到若干不同的NodeGroup,包括Spark Driver、Spark Executor,以及Zeppelin、Jupyter的Notebook”,從而為不同類型的節點組配置不同的資源類型,并分別實現彈性伸縮,獲得更好的性價比。
提到EC2 機型選擇時,陳緒表示,對于大規模shuffle的作業,磁盤的IOPS和讀寫吞吐要求都很高,因此在大規模ETL集群中,團隊會優先選擇M5d、C5d、R5d等帶有本地nvme磁盤的機型。在陳緒團隊的生產集群上,IOPS可達到萬級別,讀寫吞吐可以達到GB級別,而使用本地nvme磁盤機型,可以很好地解決磁盤性能瓶頸問題。此外,陳緒還從資源管理、作業狀態和日志、版本和部分 bug修復等角度進一步探討了Spark on Amazon EKS的業務實踐,并為來賓們介紹了一系列技術實踐的成果——匯量科技自研的一站式云原生大數據和人工智能平臺EnginePlus。
據了解,EnginePlus 將數據湖、計算分析、人工智能集成在統一平臺上,提供面向多種業務場景的實時數據湖框架 StarLake、機器學習框架 MindAlpha 等自研開源工具,并能夠與 Spark 計算框架深度集成,其適用場景包括互聯網金融、出海電商、移動廣告等。
陳緒介紹稱,在亞馬遜S3存儲和EKS之上,EnginePlus部署了StarLake數據湖框架和Spark云原生計算框架,從而形成了湖倉一體的統一計算引擎。在天級大作業的遷移中,與Yarn相比,在Amazon EKS上部署Spark后,作業耗時大幅縮短。同時EnginePlus也針對容器化環境做了很多bug修復和易用性提升的開發工作,幫助用戶更好更方便地在云上使用EnginePlus。
目前,EnginePlus已經上線亞馬遜云科技Marketplace,助力全球企業實現新一代數據智能開發,解放業務生產力。未來,EnginePlus 將與亞馬遜云科技攜手并進,以其云原生、一站式數據智能的服務,賦能更多用戶。